From 08881d6b6412822d5035f63a0775ca1f213c8668 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 10:17:22 +0800
Subject: [PATCH] 测试完成
---
src/views/repositoryai/templateku/index.vue | 1357 +++++++++++++++++++++++++++-------------------------------
1 files changed, 642 insertions(+), 715 deletions(-)
diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue
index c43d358..bc38fb5 100644
--- a/src/views/repositoryai/templateku/index.vue
+++ b/src/views/repositoryai/templateku/index.vue
@@ -1,10 +1,10 @@
<template>
<div class="Questionnairemanagement">
<!-- 宸︿晶鏍� -->
- <div class="sidecolumn" v-show="topactiveName == 'Local'">
+ <div class="sidecolumn">
<div class="sidecolumn-top">
- <div class="top-wj">妯$増绫诲瀷</div>
- <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
+ <div class="top-wj">妯℃澘绫诲瀷</div>
+ <div class="top-tj" @click="Newcategory">+娣诲姞</div>
</div>
<div class="center-ss">
<el-input
@@ -13,56 +13,49 @@
class="input-with-select"
size="medium "
>
- <el-button
- @click="sidecolumnss"
- slot="append"
- icon="el-icon-search"
- ></el-button>
</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 class="head-container" style="margin-top: 20px">
+ <el-tree
+ :data="deptOptions"
+ :props="defaultProps"
+ :expand-on-click-node="false"
+ :filter-node-method="filterNode"
+ ref="tree"
+ node-key="id"
+ default-expand-all
+ highlight-current
+ @node-click="handleNodeClick"
+ >
+ <span class="custom-tree-node" slot-scope="{ node, data }">
+ <span>{{ node.label }}</span>
+ <span v-if="data.id > 0">
+ <el-button
+ type="text"
+ icon="el-icon-delete"
+ circle
+ size="mini"
+ @click="() => remove(node, data)"
>
- <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-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>
+ </el-tree>
</div>
</div>
<!-- 鍙充晶鏁版嵁 -->
- <div :class="topactiveName == 'Local' ? 'leftvlue' : 'leftvlues'">
- <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">
<div class="leftvlue-bg">
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -75,28 +68,35 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="妯$増鍚嶇О" prop="userName">
+ <el-form-item label="妯℃澘鏍囬" prop="templateName">
<el-input
- v-model="queryParams.userName"
+ v-model="queryParams.templateName"
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="region">
+ <el-select
+ v-model="campus"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨鍒嗙被"
+ >
<el-option
- v-for="item in languagelist"
- :key="item.value"
+ class="ruleFormaa"
+ v-for="item in courtyardlist"
+ :key="item.label"
:label="item.label"
- :value="item.value"
+ :value="item.label"
>
</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="usestate">
+ <el-select v-model="queryParams.usestate" placeholder="璇烽�夋嫨">
<el-option
v-for="item in qyoptions"
:key="item.value"
@@ -151,9 +151,8 @@
</el-col>
<!-- <el-col :span="1.5"> </el-col> -->
</el-row>
- <!-- 鏍囧噯妯$増 -->
+ <!-- 鏍囧噯妯℃澘 -->
<el-table
- v-if="topactiveName == 'Local'"
v-loading="loading"
:data="userList"
:border="true"
@@ -162,66 +161,124 @@
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="搴忓彿"
+ fixed
align="center"
- key="userId"
- prop="userId"
+ key="id"
+ prop="id"
/>
<el-table-column
- label="妯$増鍚嶇О"
+ label="妯℃澘鍚嶇О"
+ fixed
align="center"
- key="userName"
- prop="userName"
+ key="templateName"
+ prop="templateName"
+ width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
- label="闈欓粯鏃堕棿"
+ label="涓昏鍐呭"
align="center"
- key="nickName"
- prop="nickName"
- width="400"
+ key="note"
+ prop="note"
+ width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
- label="鏃犲0閲嶅娆℃暟"
+ label="閫傜敤鐤剧梾"
align="center"
key="aphonenumber"
prop="aphonenumber"
- width="400"
- /><el-table-column
- label="鏃犲0鍖归厤閲嶅娆℃暟"
- align="center"
- key="bphonenumber"
- prop="bphonenumber"
- width="120"
- />
- <el-table-column
- label="閫氱敤搴�"
- align="center"
- key="bphonenumbear"
- prop="bphonenumbear"
- width="120"
- />
- <el-table-column
- label="璇█"
- align="center"
- key="indicator"
- prop="indicator"
- width="120"
- />
- <el-table-column label="鏄惁鍚敤" align="center" key="status">
+ >
<template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="0"
- inactive-value="1"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
+ <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="labelInfo"
+ prop="labelInfo"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <div v-if="scope.row.labelInfo">
+ <span v-for="item in JSON.parse(scope.row.labelInfo)">{{
+ item.tagname
+ }}</span>
+ </div>
+ <div v-else>
+ <span>鏃�</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="閫傜敤闄㈠尯"
+ align="center"
+ key="campus"
+ prop="campus"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <div v-if="scope.row.campus">
+ <span v-for="item in scope.row.campus.split(',')"
+ >{{ item }}銆�
+ </span>
+ </div>
+ <div v-else>
+ <span>鏃�</span>
+ </div>
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="璧勬枡褰㈠紡"
+ align="center"
+ key="playType"
+ prop="playType"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="precedencetype"
+ :value="scope.row.playType"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐗堟湰鍙�"
+ align="center"
+ key="versions"
+ prop="versions"
+ width="120"
+ />
+ <el-table-column
+ label="鏈�杩戜慨鏀�"
+ align="center"
+ key="updateTime"
+ prop="updateTime"
+ width="120"
+ />
+ <el-table-column label="鍙敤鐘舵��" align="center" key="usestate">
+ <template slot-scope="scope">
+ <dict-tag :options="qyoptions" :value="scope.row.usestate" />
</template>
</el-table-column>
<el-table-column
label="鎿嶄綔"
+ fixed="right"
align="center"
width="200"
class-name="small-padding fixed-width"
@@ -230,17 +287,9 @@
<el-button
size="medium"
type="text"
- @click="handleUpdate(scope.row)"
- ><span class="button-textxg"
- ><i class="el-icon-edit-outline"></i>淇敼</span
- ></el-button
- >
- <el-button
- size="medium"
- type="text"
@click="compileUpdate(scope.row)"
><span class="button-bji"
- ><i class="el-icon-edit"></i>缂栬緫璇濇湳</span
+ ><i class="el-icon-edit"></i>缂栬緫</span
></el-button
>
<el-button
@@ -255,109 +304,17 @@
<el-button
size="medium"
type="text"
- @click="handleDelete(scope.row)"
+ @click="preview(scope.row)"
v-hasPermi="['system:user:remove']"
><span class=".button-xiazai"
- ><i class="el-icon-s-management"></i>澶嶅埗妯$増</span
+ ><i class="el-icon-s-management"></i>棰勮</span
></el-button
>
</template>
</el-table-column>
</el-table>
- <!-- 閫氱敤妯$増 -->
- <el-table
- v-else
- v-loading="loading"
- :data="userList"
- :border="true"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="50" align="center" />
- <el-table-column
- label="搴忓彿"
- align="center"
- key="userId"
- prop="userId"
- />
- <el-table-column
- label="閫氱敤妯$増鍚嶇О"
- align="center"
- key="userName"
- prop="userName"
- :show-overflow-tooltip="true"
- />
- <el-table-column
- label="璇█"
- align="center"
- key="nickName"
- prop="nickName"
- width="400"
- :show-overflow-tooltip="true"
- />
- <el-table-column label="鏄惁鍚敤" align="center" key="status">
- <template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="0"
- inactive-value="1"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
- </template>
- </el-table-column>
+ <!-- 閫氱敤妯℃澘 -->
- <el-table-column
- label="鎿嶄綔"
- align="center"
- width="200"
- class-name="small-padding fixed-width"
- >
- <template slot-scope="scope">
- <el-button
- size="medium"
- type="text"
- @click="handleUpdate(scope.row)"
- ><span class="button-textxg"
- ><i class="el-icon-edit-outline"></i>淇敼</span
- ></el-button
- >
- <el-button
- size="medium"
- type="text"
- @click="compileUpdate(scope.row)"
- ><span class="button-bji"
- ><i class="el-icon-edit"></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-delete-solid"></i>鍒犻櫎</span
- ></el-button
- >
- <el-button
- size="medium"
- type="text"
- @click="downloadfn(scope.row)"
- v-hasPermi="['system:user:remove']"
- ><span class="button-xiazai"
- ><i class="el-icon-download"></i>涓嬭浇</span
- ></el-button
- >
- <el-button
- size="medium"
- type="text"
- @click="copyfn(scope.row)"
- v-hasPermi="['system:user:remove']"
- ><span class=".button-xiazai"
- ><i class="el-icon-s-management"></i>澶嶅埗妯$増</span
- ></el-button
- >
- </template>
- </el-table-column>
- </el-table>
<!-- 搴曢儴鍒嗛〉 -->
<pagination
v-show="total > 0"
@@ -368,301 +325,181 @@
/>
</el-col>
</el-row>
-
- <!-- 娣诲姞鎴栦慨鏀规爣鍑嗘ā鐗堝璇濇 -->
- <el-dialog
- v-if="topactiveName == 'Local'"
- :title="title"
- :visible.sync="indexopen"
- width="900px"
- append-to-body
- >
- <el-form
- ref="form"
- :model="indexform"
- :rules="rules"
- label-width="110px"
- >
- <el-row>
- <el-col :span="24">
- <el-form-item label="璇█" prop="deptId">
- <el-select
- v-model="indexform.language"
- placeholder="璇烽�夋嫨璇█"
- >
- <el-option
- v-for="index in languagelist"
- :key="index.value"
- :label="index.label"
- :value="index.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="妯$増鍚嶇О" prop="nickName">
- <el-input
- v-model="indexform.nickName"
- placeholder="璇疯緭鍏ユā鐗堝悕绉�"
- maxlength="80"
- />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="verbaltricktext">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="鏃犲0閲嶅娆℃暟" prop="verbaltrickyy">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="鏃犲尮閰嶉噸澶嶆鏁�" prop="matchtext">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="鍚姩浠诲姟" prop="matchyy">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="閫氱敤搴�" prop="deptId">
- <el-select v-model="indexform.language" placeholder="璇烽�夋嫨">
- <el-option
- v-for="index in languagelist"
- :key="index.value"
- :label="index.label"
- :value="index.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="绉戝" prop="deptId">
- <el-select v-model="indexform.language" placeholder="璇烽�夋嫨">
- <el-option
- v-for="index in languagelist"
- :key="index.value"
- :label="index.label"
- :value="index.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="璇婃柇绫诲瀷鍏抽敭瀛�" prop="librarytext">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="璇婃柇绫诲瀷" prop="deptId">
- <el-select v-model="indexform.language" placeholder="璇烽�夋嫨">
- <el-option
- v-for="index in languagelist"
- :key="index.value"
- :label="index.label"
- :value="index.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="闅忚鎺ㄥ欢澶╂暟" prop="vaguetext">
- <el-input v-model="indexform.userName" maxlength="30" />
- </el-form-item> </el-col
- ></el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="妯$増鏍囩淇℃伅" prop="vagueyy">
- <el-input v-model="indexform.userName" maxlength="30" />
- </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 qyoptionbo"
- :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-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>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
- </div>
- </el-dialog>
- <!-- 娣诲姞鎴栦慨鏀归�氱敤妯$増瀵硅瘽妗� -->
- <el-dialog
- :title="title"
- :visible.sync="indexopenty"
- width="900px"
- append-to-body
- >
- <el-form
- ref="form"
- :model="indexform"
- :rules="rules"
- label-width="100px"
- >
- <el-row>
- <el-col :span="24">
- <el-form-item label="璇█" prop="deptId">
- <el-select
- v-model="indexform.language"
- placeholder="璇烽�夋嫨璇█"
- >
- <el-option
- v-for="index in languagelist"
- :key="index.value"
- :label="index.label"
- :value="index.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="妯$増鍚嶇О" prop="nickName">
- <el-input
- v-model="indexform.nickName"
- placeholder="璇疯緭鍏ユā鐗堜富鏃�"
- maxlength="80"
- />
- </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>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
- </div>
- </el-dialog>
</div>
</div>
<!-- 娣诲姞绫诲埆寮规 -->
<el-dialog
- :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
+ :title="title"
width="30%"
+ :close-on-click-modal="false"
:visible.sync="dialogFormVisible"
>
+ <div style="text-align: center; margin-bottom: 20px">
+ <el-radio-group v-model="radio">
+ <el-radio-button label="涓诲垎绫�" v-show="zifon"></el-radio-button>
+ <el-radio-button label="瀛愬垎绫�" v-show="zufon"></el-radio-button>
+ </el-radio-group>
+ </div>
+ <el-divider></el-divider>
<el-form :model="classifyform">
- <el-form-item
- :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
- >
+ <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+ <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in deptOptions"
+ :key="item.id"
+ :label="item.indexAssortName"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
<el-input
- v-model="classifyform.categoryname"
+ v-model="classifyform.indexAssortName"
autocomplete="off"
></el-input>
</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>
- <!-- 鍒犻櫎绫诲埆纭妗� -->
- <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">
- 姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛�
+ <!-- 娣诲姞鐤剧梾瀵硅瘽妗� -->
+ <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="deleteVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
+ <el-button @click="illnessVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button>
</span>
+ </el-dialog>
+ <!-- 闅忚棰樼洰棰勮 -->
+ <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%">
+ <div class="preview-left">
+ <div v-for="item in topicform.ivrLibaTemplateScriptVOList">
+ <!-- 鍗曢�� -->
+ <div
+ class="scriptTopic-dev"
+ :key="item.targetid"
+ v-if="item.valueType == 1"
+ >
+ <div class="dev-text">
+ {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-radio-group v-model="item.remark">
+ <el-radio
+ v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
+ :key="index"
+ :label="index"
+ >{{ items.targetvalue }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ </div>
+ <!-- 澶氶�� -->
+ <div
+ class="scriptTopic-dev"
+ :key="item.targetid"
+ v-if="item.valueType == 2"
+ >
+ <div class="dev-text">
+ {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-checkbox-group v-model="item.remark">
+ <el-checkbox
+ v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
+ :key="index"
+ :label="index"
+ >
+ {{ items.targetvalue }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </div>
+ </div>
+ <!-- 濉┖ -->
+ <div
+ class="scriptTopic-dev"
+ :key="item.targetid"
+ v-if="item.valueType == 3"
+ >
+ <div class="dev-text">
+ {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
+ </el-input>
+ </div>
+ </div>
+ </div>
+ </div>
</el-dialog>
</div>
</template>
<script>
+import store from "@/store";
+
import {
- listUser,
- getUser,
- delUser,
- addUser,
- updateUser,
-} from "@/api/system/user";
+ getFollowupclassify,
+ delFollowupclassify,
+ addFollowupclassify,
+ editFollowupclassify,
+ addtargetillness,
+ getvFollowup,
+ compileFollowup,
+ delFollowupinfo,
+ getverbaltricklist,
+ Followupinfo,
+ getFollowuplist,
+ getillnesslist,
+ illnesslistget,
+ getillness,
+} from "@/api/AiCentre/index";
+import { listDept } from "@/api/system/dept";
export default {
- name: "questionnaire",
- dicts: ["sys_normal_disable", "sys_user_sex"],
+ name: "templateku",
data() {
return {
topactiveName: "Local", //椤堕儴閫夋嫨
@@ -680,6 +517,8 @@
total: 0,
namequestionnaire: "",
haoquestionnaire: "",
+ topicform: {},
+ topicVisible: false,
idds: "",
amendtag: false, //鏄惁淇敼绫诲埆
dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
@@ -689,19 +528,9 @@
categoryname: "",
}, //绫诲埆琛ㄥ崟
// 琛ㄦ牸鏁版嵁
- userList: [
- {
- userid: 1,
- userName: "琛�甯歌銆佸翱甯歌",
- nickName: "璐",
- aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
- bphonenumber: "閫夋嫨",
- cphonenumber: "鏅�氳瘽",
- status: "0",
- },
- ],
+ userList: [],
// 寮瑰嚭灞傛爣棰�
- title: "",
+ title: "绫诲埆缂栬緫",
// 鏄惁鏄剧ず寮瑰嚭灞�
open: false,
// 鏃ユ湡鑼冨洿
@@ -710,6 +539,7 @@
postOptions: [],
// 瑙掕壊閫夐」
roleOptions: [],
+ precedencetype: [],
// 娣诲姞銆佷慨鏀瑰弬鏁�
indexform: {},
numberlb: 22,
@@ -717,211 +547,89 @@
sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
dialogFormVisible: false, //娣诲姞绫诲埆寮规
sidecolumnval: "", //绫诲埆鎼滅储
- indexopen: false, //寮规灞曠ず鍚�
- indexopenty: false, //寮规灞曠ず鍚�
- propss: { multiple: true },
- languagelist: [
- {
- value: 1,
- label: "鏅�氳瘽",
- },
- {
- value: 2,
- label: "绮よ",
- },
- {
- value: 3,
- label: "鑻辫",
- },
- ], //璇█鍒楄〃
- qyoptions: [
- {
- value: 1,
- label: "鍚敤",
- },
- {
- value: 2,
- label: "鍏抽棴",
- },
- ],
// 鎾姤鏂瑰紡
- qyoptionbo: [
- {
- value: 1,
- label: "璇煶浼樺厛",
- },
- {
- value: 2,
- label: "鏂囧瓧浼樺厛",
- },
- ],
+ qyoptionbo: [],
//绫诲埆鍒楄〃
- editableTabs: [
- {
- title: "妯$増鍒嗙被涓�",
- number: "1",
- },
- {
- title: "妯$増鍒嗙被浜�",
- number: "2",
- },
- {
- title: "妯$増鍒嗙被涓�",
- number: "2",
- },
- {
- title: "妯$増鍒嗙被鍥�",
- number: "2",
- },
- {
- title: "妯$増鍒嗙被浜�",
- number: "2",
- },
- ],
+ editableTabs: [],
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
pageSize: 10,
- userName: undefined,
- phonenumber: undefined,
- status: undefined,
- deptId: undefined,
- IDnumber: undefined,
},
+ campus: [],
// 琛ㄥ崟鏍¢獙
- 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: {},
+ indexid: null,
+ inputValue: "",
+ radio: "涓诲垎绫�",
+ zufon: true,
+ zifon: true,
+ inputVisible: false,
+ illnessVisible: false, //鎸囨爣鐤剧梾寮规
+ deptOptions: [],
+ optionsillness: [],
+ illnesslistapi: [],
+ illnesslist: [],
+ defaultProps: {
+ children: "ivrLibaTemplateAssortList",
+ label: "indexAssortName",
},
+ deptList: [],
+ props: { multiple: true, value: "deptId", label: "deptName" },
+ mode: [],
+ languagelist: [],
+ qyoptions: [],
+ courtyardlist: [],
};
},
- watch: {},
+ watch: {
+ // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+ sidecolumnval(val) {
+ this.$refs.tree.filter(val);
+ },
+ },
created() {
this.getList();
+ this.getDeptTree();
+ this.zufon = true;
+ this.zifon = true;
+ this.mode = store.getters.mode;
+ this.languagelist = store.getters.languagelist;
+ this.qyoptions = store.getters.usable;
+ this.precedencetype = store.getters.precedencetype;
+ this.courtyardlist = store.getters.courtyardlist;
},
methods: {
- /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
+ /** 鏌ヨ淇℃伅 */
getList() {
- // this.loading = true;
- listUser().then((response) => {
- console.log(response);
+ this.queryParams.campus = this.campus.join(",");
+ getFollowuplist(this.queryParams).then((res) => {
+ console.log(res);
console.log(this.userList);
+ this.userList = res.rows;
+ this.total = res.total;
+
+ console.log(this.userList[0].campus.split(","));
+ });
+ listDept({ pageNum: 1, pageSize: 10 }).then((response) => {
+ this.deptList = this.handleTree(response.data, "deptId");
});
},
- // 娣诲姞銆佷慨鏀圭被鍒�
- 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;
- }
- },
- // 澶嶅埗妯$増
+
+ // 澶嶅埗妯℃澘
copyfn() {},
- // 涓嬭浇妯$増
+ // 涓嬭浇妯℃澘
downloadfn() {},
// 璺宠浆缂栬緫璇濇湳椤甸潰
compileUpdate(row) {
- if (this.topactiveName == "Local") {
- this.$router.push({
- path: "/repositoryai/templateku/configurat/",
- query: { id: "1" },
- });
- } else {
- this.$router.push({
- path: "/repositoryai/templateku/particulars/",
- query: { id: "1" },
- });
- }
+ // this.$router.replace("/tpuconfigurat");
+ this.$router.push({
+ path: "/knowledge/tpuconfigurat/",
+ query: { id: row.id },
+ });
},
- // 棰樼洰鐘舵�佷慨鏀�
- 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";
- });
- },
+
//鎼滅储绫诲埆
sidecolumnss() {},
// 渚挎嵎鏍囩
@@ -930,8 +638,6 @@
tophandleClick() {},
// 鍙栨秷鎸夐挳
cancel() {
- this.indexopen = false;
- this.indexopenty = false;
this.reset();
},
@@ -968,73 +674,221 @@
},
// 澶氶�夋閫変腑鏁版嵁
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;
},
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
- this.reset();
- this.title = "鏂板妯$増";
- if (this.topactiveName == "Local") {
- this.indexopen = true;
- } else {
- this.indexopenty = true;
- }
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
- this.reset();
- this.title = "淇敼妯$増";
- if (this.topactiveName == "Local") {
- this.indexopen = true;
- } else {
- this.indexopenty = true;
- }
- },
- // 淇敼鍒嗙被寮规
- popoveramend(tagcategoryid) {
- this.idds = tagcategoryid;
- this.amendtag = true;
- this.dialogFormVisible = true;
- },
-
- /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
- submitForm: function () {
- this.$refs["form"].validate((valid) => {
- if (valid) {
- if (this.form.userId != undefined) {
- updateUser(this.form).then((response) => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.indexopen = false;
- this.indexopenty = false;
- this.getList();
- });
- } else {
- addUser(this.form).then((response) => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.indexopen = false;
- this.indexopenty = false;
-
- this.getList();
- });
- }
- }
+ this.$router.push({
+ path: "/knowledge/tpuconfigurat/",
+ query: { id: null, assortid: this.queryParams.assortid },
});
},
+
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- const userIds = row.userId || this.ids;
+ const userids = row.id || this.ids;
this.$modal
- .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userids + '"鐨勬暟鎹」锛�')
.then(function () {
- return delUser(userIds);
+ return delFollowupinfo(userids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
.catch(() => {});
+ },
+ // 鍒嗙被鏍�-----------------------------------------
+ // 淇敼鍒嗙被寮规
+ popoveramend(tagcategoryid) {
+ this.idds = tagcategoryid;
+ this.amendtag = true;
+ this.dialogFormVisible = true;
+ },
+ // 鏌ヨ鏍�
+ getDeptTree() {
+ getFollowupclassify({}).then((res) => {
+ this.deptOptions = res.rows;
+ this.dialogFormVisible = false;
+ });
+ },
+
+ // 娣诲姞绫诲埆鏍�
+ submitsidecolumn() {
+ if (this.classifyform.id) {
+ editFollowupclassify(this.classifyform).then((res) => {
+ this.getDeptTree();
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.classifyform = {};
+ this.dialogFormVisible = false;
+ });
+ return;
+ }
+ let calssvalue = {};
+ if (
+ this.classifyform.pid &&
+ this.classifyform.indexAssortName &&
+ this.radio == "瀛愬垎绫�"
+ ) {
+ const index = this.deptOptions.findIndex(
+ (obj) => obj.id == this.classifyform.pid
+ );
+ calssvalue = this.deptOptions[index];
+ calssvalue.ivrLibaTemplateAssortList.push(this.classifyform);
+ } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) {
+ this.classifyform.pid = null;
+ this.classifyform.ivrLibaTemplateAssortList = [];
+ } else {
+ return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+ }
+ addFollowupclassify(this.classifyform).then((res) => {
+ this.getDeptTree();
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.classifyform = {};
+ this.dialogFormVisible = false;
+ });
+ },
+ remove(a, b) {
+ if (b.pid) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delFollowupclassify(b.id);
+ })
+ .then(() => {
+ this.getDeptTree();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ } else {
+ this.$modal
+ .confirm(
+ '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+ b.indexAssortName +
+ '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+ )
+ .then(() => {
+ return delFollowupclassify(b.id);
+ })
+ .then(() => {
+ this.getDeptTree();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ }
+ },
+ altertag(a, b) {
+ this.dialogFormVisible = true;
+ if (!b.pid) {
+ this.radio = "涓诲垎绫�";
+ this.title = "淇敼涓诲垎绫�";
+ this.zufon = false;
+ } else {
+ this.radio = "瀛愬垎绫�";
+ this.title = "淇敼瀛愬垎绫�";
+ this.zifon = false;
+ }
+ this.classifyform = b;
+ this.dialogFormVisible = true;
+ },
+ Newcategory() {
+ this.classifyform = {}; //绫诲埆琛ㄥ崟
+ this.radio = "涓诲垎绫�";
+ this.dialogFormVisible = true;
+ this.zifon = true;
+ this.zufon = true;
+ },
+ // 棰勮
+ preview(row) {
+ getvFollowup({ id: row.id }).then((res) => {
+ this.topicform = res.data;
+ console.log(this.topicform);
+ this.topicVisible = true;
+ });
+ },
+
+ // 绛涢�夎妭鐐�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.indexAssortName.indexOf(value) !== -1;
+ },
+ handleNodeClick(data) {
+ this.queryParams.assortid = data.id;
+ this.getList();
+ },
+ // 鐤剧梾-----------------------
+ illnessUpdate(row) {
+ this.illnessVisible = true;
+ this.indexid = row.id;
+ this.illnesslistapi = [];
+ const illnessqueryParams = {
+ pageNum: 1,
+ pageSize: 100,
+ };
+ getillnesslist(illnessqueryParams).then((response) => {
+ console.log(response);
+ this.optionsillness = response.rows;
+ });
+ getillness({ outid: row.id, type: 3 }).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 = 3;
+ 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("缂栬緫鎴愬姛");
+ },
+ showInput() {
+ this.inputVisible = true;
},
},
};
@@ -1051,8 +905,8 @@
// display: flex;
margin-top: 20px;
margin: 20px;
- padding: 30px;
- background: #edf1f7;
+ padding: 20px;
+ 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);
@@ -1148,6 +1002,29 @@
font-size: 20px;
}
}
+.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;
+ }
+}
.leftvlues {
// display: flex;
// flex: 1;
@@ -1163,6 +1040,56 @@
font-size: 20px;
}
}
+.preview-left {
+ margin: 20px;
+ // margin: 20px;
+ padding: 30px;
+ background: #ffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+ .scriptTopic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+::v-deep .el-tree-node__content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ height: 46px;
+ 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;
+ color: red;
+}
.button-text {
color: rgb(70, 204, 238);
}
--
Gitblit v1.9.3