From e8c62bd430b9697d3f954125b7ec9f61f18347a2 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 11:19:34 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/questionnaire/compilequer/index.vue | 824 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 601 insertions(+), 223 deletions(-)
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 85d3a9c..fa849d3 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -14,7 +14,7 @@
<el-step>
<template slot="title">
<span style="cursor: pointer" @click="Editprogress = 2"
- >闂嵎棰樼洰</span
+ >闂嵎闂</span
>
</template>
</el-step>
@@ -36,12 +36,27 @@
:model="ruleForm"
:rules="rules"
ref="ruleForm"
- label-width="100px"
+ label-width="180px"
class="demo-ruleForm"
>
- <el-row :gutter="10">
+ <el-form-item label="闂嵎鍚嶇О" prop="svyname">
+ <div style="width: 55vw">
+ <el-input v-model="ruleForm.svyname"></el-input>
+ </div>
+ </el-form-item>
+ <el-form-item label="闂嵎鎻忚堪" prop="description">
+ <el-input
+ style="width: 55vw"
+ type="textarea"
+ :rows="2"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="ruleForm.description"
+ >
+ </el-input
+ ></el-form-item>
+ <el-row :gutter="20">
<el-col :span="10">
- <el-form-item label="闂嵎鍒嗙被" prop="region">
+ <el-form-item label="闂嵎鍒嗙被" prop="categoryid">
<el-select
v-model="ruleForm.categoryid"
size="medium"
@@ -64,8 +79,8 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :span="10">
- <el-form-item label="璇勪环绫诲瀷">
+ <el-col :span="8">
+ <el-form-item label="璇勪环绫诲瀷" prop="scoreType">
<el-select
v-model="ruleForm.scoreType"
placeholder="璇烽�夋嫨鍒嗙被"
@@ -81,24 +96,63 @@
</el-form-item>
</el-col>
</el-row>
- <el-form-item label="闂嵎鏍囬" prop="name">
- <div style="width: 30%">
- <el-input v-model="ruleForm.svyname"></el-input>
- </div>
- </el-form-item>
- <el-form-item label="闂嵎鎻忚堪">
- <el-input
- style="width: 40vw"
- type="textarea"
- autosize
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="ruleForm.description"
- >
- </el-input
- ></el-form-item>
+ <el-row :gutter="20">
+ <el-col :span="10">
+ <el-form-item label="鍙敤鐘舵��" prop="isenable">
+ <el-radio-group v-model="ruleForm.isenable">
+ <el-radio
+ v-for="(item, index) in usable"
+ :label="item.value"
+ >{{ item.label }}</el-radio
+ >
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鐗堟湰鍙�" prop="name">
+ <el-input
+ v-model="ruleForm.version"
+ placeholder="榛樿1.0"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <!-- <el-row :gutter="20">
+ <el-col :span="10">
+ <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
+ <el-radio-group v-model="ruleForm.longTemp">
+ <el-radio
+ v-for="(item, index) in longtype"
+ :label="item.value"
+ >{{ item.label }}</el-radio
+ >
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8" v-if="ruleForm.longTemp">
+ <el-form-item label="浠诲姟鍛ㄦ湡锛堝嚑澶╁悗锛�" prop="name">
+ <el-input
+ v-model="ruleForm.sendDay"
+ placeholder="榛樿5澶╁悗"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row> -->
<el-row>
- <el-form-item label="鏍囩" prop="desc">
+ <el-form-item prop="dynamicTags">
+ <template #label>
+ 鏍囩
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="鍑嗙‘銆佹壖瑕併�佸閲嶇殑鏍囩锛屽彲浠ヨ鎮ㄥ湪绯荤粺浣跨敤涓柟渚跨殑鏌ユ壘鍒拌妯$増銆�"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+ </template>
<div class="xinz-inf">
<el-tag
:key="tag.tagname"
@@ -142,7 +196,25 @@
</el-form-item>
</el-row>
<div class="xinz-infs">
- <el-form-item label="閫傜敤鐤剧梾" prop="region">
+ <el-form-item>
+ <template #label>
+ 閫傜敤鐤剧梾
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ </template>
+ <div style="margin-bottom: 10px">
+ <el-button
+ type="warning"
+ @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾璇婃柇</el-button
+ >
+ </div>
<el-tag
v-for="tag in displayedTags"
:key="tag.icdid"
@@ -154,34 +226,11 @@
<el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag>
</el-form-item>
</div>
- <div style="margin-left: 120px; margin-bottom: 10px">
- <el-button type="warning" @click="$refs.child.handleAddpatient()"
- >鐤剧梾璇︽儏</el-button
- >
- </div>
- <el-row :gutter="20">
- <el-col :span="6">
- <el-form-item label="鐗堟湰鍙�" prop="name">
- <el-input
- v-model="ruleForm.version"
- placeholder="榛樿1.0"
- ></el-input> </el-form-item
- ></el-col>
- <el-col :span="9">
- <el-form-item label="鍙敤鐘舵��" prop="region">
- <el-radio-group v-model="ruleForm.isAvailable">
- <el-radio
- v-for="(item, index) in usable"
- :label="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item></el-col
- >
- </el-row>
- <el-form-item label="闂嵎鏂瑰紡" prop="region">
+
+ <el-form-item label="闂嵎鏂瑰紡" prop="suitway">
<el-select
v-model="ruleForm.suitway"
+ style="width: 55vw"
size="medium"
multiple
filterable
@@ -198,43 +247,70 @@
</el-select>
</el-form-item>
- <el-form-item label="閫傜敤闄㈠尯" prop="region">
- <el-select
- v-model="ruleForm.campus"
- size="medium"
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
+ <el-row>
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤绉戝" prop="region">
+ <el-select
+ v-model="tempDetpRelevanceslist"
+ @remove-tag="removetag"
+ style="width: 55vw"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨绉戝"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in flatArray"
+ :key="item.id"
+ :label="item.label"
+ :value="item.deptCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+ <el-select
+ v-model="tempbelongWards"
+ @remove-tag="removehpsp"
+ style="width: 55vw"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in flatArray"
+ :key="item.id"
+ :label="item.label"
+ :value="item.deptCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-form-item label="缁撴潫璇�" prop="conclusion">
+ <el-input
+ style="width: 55vw; line-height: 80px"
+ type="textarea"
+ :rows="5"
+ autosize
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="ruleForm.conclusion"
>
- <el-option
- class="ruleFormaa"
- 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="region">
- <el-cascader
- v-model="tempDetpRelevanceslist"
- :options="deptList"
- :props="props"
- :show-all-levels="false"
- clearable
- >
- <template slot-scope="{ node, data }">
- <span>{{ data.deptName }}</span>
- <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
- </template>
- </el-cascader>
- </el-form-item>
+ </el-input
+ ></el-form-item>
+
<el-form-item>
<el-button type="success" @click="nextstep('ruleForm')"
>涓嬩竴姝�</el-button
>
<el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
- <el-button @click="Departmenttreatment('ruleForm')"
+ <el-button @click="toExamine('ruleForm')"
>淇濆瓨闂嵎鍩虹淇℃伅</el-button
>
</el-form-item>
@@ -243,14 +319,14 @@
<!-- 闂嵎璁剧疆 -->
<div v-if="Editprogress == 2">
<div class="leftvlue-jbxx">
- 闂嵎棰樼洰璁剧疆
+ 闂嵎闂璁剧疆
<span style=""
><el-button
type="warning"
icon="el-icon-finished"
round
@click="test"
- >棰樼洰瑙勫垯鏁堥獙</el-button
+ >闂瑙勫垯鏁堥獙</el-button
></span
>
</div>
@@ -262,17 +338,17 @@
icon="el-icon-plus"
round
@click="getaddtopiclist"
- >娣诲姞棰樼洰</el-button
+ >娣诲姞闂</el-button
>
<el-button
type="success"
icon="el-icon-edit-outline"
round
@click="Operateit = !Operateit"
- >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
+ >{{ !Operateit ? "缂栬緫闂" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
>
</div>
- <div style="display: flex">
+ <div style="display: flex" v-if="ruleForm.scoreType == 1">
<span
style="
width: 180px;
@@ -303,7 +379,7 @@
width="50"
/>
<el-table-column
- label="棰樼洰鏍囬"
+ label="闂涓婚"
align="center"
key="scriptTopic"
prop="scriptTopic"
@@ -325,7 +401,7 @@
</el-table-column>
<el-table-column
v-if="!Operateit"
- label="棰樼洰鍐呭"
+ label="闂鍐呭"
align="center"
key="scriptContent"
prop="scriptContent"
@@ -359,7 +435,6 @@
align="center"
key="nextScriptno"
prop="nextScriptno"
- :show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>{{
@@ -414,10 +489,10 @@
:model="topicobj"
class="demo-form-inline"
>
- <div class="headline">棰樼洰璁剧疆璇︽儏</div>
+ <div class="headline">闂璁剧疆璇︽儏</div>
<el-row :gutter="10">
<el-col :span="12">
- <el-form-item label="棰樼洰鏍囬">
+ <el-form-item label="闂涓婚">
<el-input
v-model="topicobj.scriptTopic"
placeholder="璇疯緭鍏ユ爣棰�"
@@ -432,9 +507,23 @@
</el-form-item>
</el-col>
</el-row>
+
+ <el-row :gutter="10">
+ <el-form-item label="闂鍐呭">
+ <el-input
+ style="width: 600px"
+ type="textarea"
+ :rows="2"
+ autosize
+ placeholder="璇疯緭鍏ラ棶棰樺唴瀹�"
+ v-model="topicobj.scriptContent"
+ >
+ </el-input
+ ></el-form-item>
+ </el-row>
<el-row :gutter="10">
<el-col :span="12"
- ><el-form-item label="棰樼洰绫诲瀷">
+ ><el-form-item label="闂绫诲瀷">
<el-select
v-model="topicobj.scriptType"
disabled
@@ -453,13 +542,33 @@
></el-col>
<el-col :span="12">
<el-form-item
- label="棰樼洰鍒嗗��"
- v-if="topicobj.scoretype == 1"
+ label="闂鍒嗗��"
+ v-if="ruleForm.scoreType == 1"
>
<el-input
v-model="topicobj.score"
placeholder="璇疯緭鍏ラ鍙�"
></el-input>
+ </el-form-item>
+
+ <el-form-item prop="valueType">
+ <template #label>
+ 缁撴灉绫诲瀷
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="鏈被鍨嬩负缁撴灉鏀堕泦绫诲瀷锛涢�夐」鐢ㄤ簬鎸囧悜鎬ч鐩鏄惁绛夛紱鏂囨湰閫傜敤澶嶆潅鎯呭喌锛涙暟鍊肩敤浜庢敹闆嗘暟鍊煎瀷鏁版嵁"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+ </template>
+ <el-radio-group v-model="topicobj.valueType">
+ <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>
@@ -477,10 +586,10 @@
</el-form-item></el-col
>
<el-col :span="12"
- ><el-form-item label="鏄惁鍙敤">
- <el-radio-group v-model="topicobj.isavailable">
+ ><el-form-item label="鏄惁闅愯棌">
+ <el-radio-group v-model="topicobj.ishide">
<el-radio
- v-for="(item, index) in usable"
+ v-for="(item, index) in hides"
:label="item.value"
>{{ item.label }}</el-radio
>
@@ -493,10 +602,20 @@
v-if="topicobj.scriptType == 1"
>
<el-radio-group v-model="topicobj.branchFlag">
- <el-radio :label="1">鏄�</el-radio>
- <el-radio :label="0">鍚�</el-radio>
+ <el-radio label="1">鏄�</el-radio>
+ <el-radio label="0">鍚�</el-radio>
</el-radio-group>
</el-form-item>
+ <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1">
+ <el-input
+ style="width: 24vw"
+ type="textarea"
+ autosize
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="topicobj.prompt"
+ >
+ </el-input
+ ></el-form-item>
<div
v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2"
>
@@ -506,8 +625,8 @@
v-for="item in topicobj.svyLibTemplateTargetoptions"
>
<el-row :gutter="5">
- <el-col :span="16"
- ><el-form-item label="閫夐」">
+ <el-col :span="12"
+ ><el-form-item label="閫夐」鍚嶇О">
<el-input
type="text"
placeholder="璇疯緭鍏ラ�夐」"
@@ -516,9 +635,9 @@
>
</el-input> </el-form-item
></el-col>
- <el-col :span="8">
+ <el-col :span="12">
<el-form-item
- v-if="topicobj.scoretype == 1"
+ v-if="ruleForm.scoreType == 1"
label="閫夐」鍒嗗��"
>
<el-input
@@ -531,17 +650,17 @@
</el-input>
</el-form-item>
<el-form-item
- v-else-if="topicobj.scoretype == 2"
+ v-else-if="ruleForm.scoreType == 2"
label="ABC绛夌骇"
>
<el-radio-group v-model="item.score">
- <el-radio label="A">A</el-radio>
- <el-radio label="B">B</el-radio>
- <el-radio label="C">C</el-radio>
+ <el-radio :label="1">A</el-radio>
+ <el-radio :label="2">B</el-radio>
+ <el-radio :label="3">C</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
- v-else-if="topicobj.scoretype == 3"
+ v-else-if="ruleForm.scoreType == 3"
label="浼樿壇绛夌骇"
>
<el-radio-group v-model="item.score">
@@ -551,6 +670,20 @@
</el-radio-group>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row :gutter="10">
+ <el-form-item label="寮傚父鎻愰啋">
+ <el-radio-group v-model="item.isabnormal">
+ <el-radio :label="1">鏄�</el-radio>
+ <el-radio :label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="鏄惁閫変腑鏀堕泦闄勫姞淇℃伅">
+ <el-radio-group v-model="item.appendflag">
+ <el-radio label="1">鏄�</el-radio>
+ <el-radio label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
</el-row>
<el-row :gutter="10" v-if="topicobj.branchFlag == 1">
<el-col :span="20"
@@ -565,10 +698,10 @@
</el-input> </el-form-item
></el-col>
</el-row>
- <el-row :gutter="10">
+ <el-row :gutter="10" v-if="topicobj.scriptType == 1">
<el-form-item label="閫変腑鎻愮ず">
<el-input
- style="width: 20vw"
+ style="width: 24vw"
type="textarea"
autosize
placeholder="璇疯緭鍏ュ唴瀹�"
@@ -584,7 +717,9 @@
<el-image
style="width: 100px; height: 100px"
:src="item.picturePath"
- :preview-src-list="[...item.picturePath]"
+ :preview-src-list="
+ item.picturePath ? [item.picturePath] : []
+ "
>
</el-image>
</div>
@@ -640,9 +775,7 @@
>
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
<el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
- <el-button @click="Departmenttreatment('ruleForm')"
- >淇濆瓨棰樼洰鏁版嵁</el-button
- >
+ <el-button @click="toExamine('ruleForm')">淇濆瓨闂鏁版嵁</el-button>
</div>
<!-- 闂嵎棰勮 -->
<div v-if="Editprogress == 3">
@@ -695,7 +828,7 @@
<div
class="scriptTopic-dev"
:key="item.sort"
- v-if="item.scriptType == 3"
+ v-if="item.scriptType == 4"
>
<div class="dev-text">
{{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
@@ -712,9 +845,9 @@
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
</div>
</div>
- <!-- 娣诲姞棰樼洰寮圭獥 -->
+ <!-- 娣诲姞闂寮圭獥 -->
<el-drawer
- title="娣诲姞棰樼洰"
+ title="娣诲姞闂"
:visible.sync="drawer"
custom-class="demo-drawer"
size="50%"
@@ -739,7 +872,7 @@
@keyup.enter.native="getaddtopiclist"
/>
</el-form-item>
- <el-form-item label="棰樼洰绫诲瀷" prop="scriptTopic">
+ <el-form-item label="闂绫诲瀷" prop="scriptTopic">
<el-select
v-model="queryParams.scriptType"
size="medium"
@@ -832,7 +965,7 @@
class="demo-form-inline"
>
<div class="headline">
- 棰樼洰璁剧疆璇︽儏
+ 闂璁剧疆璇︽儏
<span style="margin-left: 30px"
><el-button type="primary" @click="Submittopicobj"
>淇濆瓨鏂板</el-button
@@ -842,16 +975,27 @@
<el-divider></el-divider>
<div>
<el-row :gutter="10">
+ <el-col :span="18"
+ ><el-form-item label="闂鍐呭">
+ <el-input
+ style="width: 400px"
+ type="textarea"
+ v-model="indexform.scriptContent"
+ placeholder="璇疯緭鍏ラ棶棰樺唴瀹�"
+ ></el-input> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row :gutter="10">
<el-col :span="12">
- <el-form-item label="棰樼洰鏍囬">
+ <el-form-item label="闂涓婚">
<el-input
v-model="indexform.scriptTopic"
- placeholder="璇疯緭鍏ラ鐩爣棰�"
+ placeholder="璇疯緭鍏ラ棶棰樹富棰�"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="棰樼洰寰楀垎">
+ <el-form-item label="闂寰楀垎">
<el-input
v-model="indexform.score"
placeholder="璇疯緭鍏ュ垎鏁�"
@@ -863,7 +1007,7 @@
<el-col :span="12">
<el-form-item label="璇勪环绫诲瀷">
<el-select
- v-model="indexform.scoretype"
+ v-model="indexform.scoreType"
placeholder="璇烽�夋嫨鍒嗙被"
>
<el-option
@@ -899,7 +1043,7 @@
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="鏄惁鍙敤">
- <el-radio-group v-model="indexform.isAvailable">
+ <el-radio-group v-model="indexform.isenable">
<el-radio
v-for="(item, index) in usable"
:label="item.value"
@@ -920,21 +1064,13 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="10">
- <el-col :span="18"
- ><el-form-item label="棰樼洰鍐呭">
- <el-input
- style="width: 400px"
- type="textarea"
- v-model="indexform.scriptContent"
- placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨"
- ></el-input> </el-form-item
- ></el-col>
- </el-row>
</div>
<div>
<el-form-item label="鎸囨爣鍚嶇О" prop="deptId">
<el-input
+ style="width: 250px"
+ type="textarea"
+ :rows="2"
v-model="indexform.targetname"
placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"
maxlength="20"
@@ -942,6 +1078,9 @@
</el-form-item>
<el-form-item label="鎸囨爣鎻忚堪" prop="deptId">
<el-input
+ style="width: 250px"
+ type="textarea"
+ :rows="2"
v-model="indexform.targetdesc"
placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
maxlength="60"
@@ -950,7 +1089,7 @@
<el-row>
<el-col :span="20">
- <el-form-item label="鍊肩被鍨�">
+ <el-form-item label="缁撴灉绫诲瀷">
<el-radio-group v-model="indexform.valueType">
<el-radio :label="1">閫夐」</el-radio>
<el-radio :label="2">鏂囨湰</el-radio>
@@ -961,7 +1100,7 @@
</el-row>
<el-row>
<el-col :span="20">
- <el-form-item label="棰樼洰绫诲瀷">
+ <el-form-item label="闂绫诲瀷">
<el-radio-group v-model="indexform.scriptType">
<el-radio :label="1">鍗曢��</el-radio>
<el-radio :label="2">澶氶��</el-radio>
@@ -1007,6 +1146,7 @@
<el-col :span="11"
><el-form-item label="閫夐」鍚嶇О">
<el-input
+ style="width: 400px"
type="text"
placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
v-model="item.optioncontent"
@@ -1016,7 +1156,7 @@
></el-col>
<el-col :span="11">
<el-form-item
- v-if="indexform.scoretype == 1"
+ v-if="indexform.scoreType == 1"
label="鍒嗗��"
>
<el-input
@@ -1028,17 +1168,17 @@
</el-input>
</el-form-item>
<el-form-item
- v-else-if="indexform.scoretype == 2"
+ v-else-if="indexform.scoreType == 2"
label="ABC绛夌骇"
>
<el-radio-group v-model="item.score">
- <el-radio label="A">A</el-radio>
- <el-radio label="B">B</el-radio>
- <el-radio label="C">C</el-radio>
+ <el-radio :label="1">A</el-radio>
+ <el-radio :label="2">B</el-radio>
+ <el-radio :label="3">C</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
- v-else-if="indexform.scoretype == 3"
+ v-else-if="indexform.scoreType == 3"
label="浼樿壇绛夌骇"
>
<el-radio-group v-model="item.score">
@@ -1051,7 +1191,7 @@
<el-col
:span="2"
- :offsset="indexform.scoretype == 4 ? 11 : 0"
+ :offsset="indexform.scoreType == 4 ? 11 : 0"
>
<el-button
type="danger"
@@ -1062,14 +1202,14 @@
</el-col>
</el-row>
<el-row :gutter="10">
- <el-form-item label="棰勮鎻愰啋">
+ <el-form-item label="寮傚父鎻愰啋">
<el-radio-group v-model="item.isabnormal">
<el-radio :label="1">鏄�</el-radio>
<el-radio :label="0">鍚�</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
- <el-row :gutter="10">
+ <el-row :gutter="10" v-if="item.scriptType == 1">
<el-form-item label="閫変腑鎻愮ず">
<el-input
style="width: 400px"
@@ -1098,7 +1238,9 @@
<el-image
style="width: 100px; height: 100px"
:src="item.picturePath"
- :preview-src-list="[...item.picturePath]"
+ :preview-src-list="
+ item.picturePath ? [item.picturePath] : []
+ "
>
</el-image>
</div>
@@ -1129,8 +1271,8 @@
import store from "@/store";
import {
getQtemplateclassify,
- delQtemplateclassify,
- addQtemplateclassify,
+ depthospgetson,
+ depthospgetsonlist,
getQtemplateobj,
compileQtemplate,
Qtemplateinfo,
@@ -1139,6 +1281,7 @@
Followupinfo,
issueinfo,
getissuelist,
+ depthospgetsondel,
deltargetillness,
addtargetillness,
getillnesslist,
@@ -1147,9 +1290,10 @@
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
import { getToken } from "@/utils/auth";
+import { deptTreeSelect } from "@/api/system/user";
export default {
- name: "Qcompilequer",
+ name: "Questionnaireinfo",
components: { OptionalForm },
@@ -1179,11 +1323,45 @@
svyTemplateLibScripts: [],
tempDetpRelevances: [],
svyLibTemplateTagList: [],
+ suitway: [],
+ scoreType: "4",
+ isenable: "0",
+ longTemp: "0",
+ sendDay: "5",
},
indexform: {
svyLibTemplateTargetoptions: [],
},
- rules: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ categoryid: [
+ { required: true, message: "闂嵎鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ scoreType: [
+ { required: true, message: "璇勪环绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ svyname: [
+ { required: true, message: "闂嵎鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ isenable: [
+ { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" },
+ ],
+ scriptTopic: [
+ { required: true, message: "闂涓婚涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ ismandatory: [
+ { required: true, message: "鏄惁蹇呭~涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ scriptType: [
+ { required: true, message: "闂绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ suitway: [
+ { required: true, message: "闂嵎鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ conclusion: [
+ { required: true, message: "闂嵎缁撴潫璇笉鑳戒负绌�", trigger: "blur" },
+ ],
+ },
rulesa: {},
optionsclass: [], //鍒嗙被鍒楄〃
optionlist: [
@@ -1218,8 +1396,8 @@
sdadd: ["sss", "ssccss", "ssaas", "ss"],
},
],
- addvalue: "娣诲姞棰樼洰",
- // 棰樼洰琛ㄦ牸鏁版嵁
+ addvalue: "娣诲姞闂",
+ // 闂琛ㄦ牸鏁版嵁
userList: [],
deptList: [],
props: { multiple: true, value: "deptId", label: "deptName" },
@@ -1234,17 +1412,31 @@
illnessVisible: false, //鎸囨爣鐤剧梾寮规
Operateit: true,
deptOptions: [],
+ flatArray: [],
optionsillness: [],
delScriptVOList: [],
illnesslistapi: [],
illnesslist: [],
- tempDetpRelevanceslist: [],
+ tempDetpRelevanceslist: [], //绉戝鏁版嵁
+ tempDetpRelevanceslistform: [], //绉戝鏁版嵁
+ tempbelongWards: [], //鐥呭尯鏁版嵁
+ tempbelongWardsform: [], //鐥呭尯鏁版嵁
optionstag: [],
valuetype: [],
qremark: [],
+ hosplist: [],
+ deptlist: [],
usable: [
{ value: "0", label: "鍙敤" },
{ value: "1", label: "鍋滅敤" },
+ ],
+ hides: [
+ { value: 0, label: "姝e父" },
+ { value: 1, label: "闅愯棌" },
+ ],
+ longtype: [
+ { value: "0", label: "鏅�氫换鍔�" },
+ { value: "1", label: "闀挎湡浠诲姟" },
],
required: [
{ value: "1", label: "蹇呭~" },
@@ -1256,30 +1448,39 @@
pageNum: 1,
pageSize: 10,
},
- arr: [
- [
- { id: 1, grade: "5" },
- { id: 2, grade: "5" },
- { id: 3, grade: "5" },
- { id: 4, grade: "5" },
- ],
- [
- { id: 1, grade: "5" },
- { id: 3, grade: "5" },
- { id: 4, grade: "5" },
- ],
- [
- { id: 1, grade: "5" },
- { id: 2, grade: "5" },
- { id: 4, grade: "5" },
- ],
- ],
+ belongWards: [],
+ belongDepts: [],
+ queryParamsdept: {
+ tempid: "",
+ type: 1,
+ },
};
},
-
+ activated() {
+ if (this.id != this.$route.query.id) {
+ this.getissueinfo();
+ this.gettabList();
+ } else {
+ this.ruleForm.svyTemplateLibScripts =
+ this.ruleForm.svyTemplateLibScripts.filter(
+ (item) => item.isoperation != 3
+ );
+ this.ruleForm.svyLibTemplateTagList =
+ this.ruleForm.svyLibTemplateTagList.filter(
+ (item) => item.isoperation != 3
+ );
+ if (this.ruleForm.suitway)
+ this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ this.delScriptVOList = [];
+ this.tempDetpRelevanceslistform = [];
+ this.tempbelongWardsform = [];
+ this.$forceUpdate();
+ }
+ },
created() {
- this.gettabList();
this.getissueinfo();
+ this.gettabList();
+ this.getDeptTree();
this.mode = store.getters.Askmode;
this.languagelist = store.getters.languagelist;
this.usable = store.getters.usable;
@@ -1288,6 +1489,8 @@
this.courtyardlist = store.getters.courtyardlist;
this.askvaluetype = store.getters.askvaluetype;
this.appraiselist = store.getters.appraiselist;
+ this.belongWards = store.getters.belongWards;
+ this.belongDepts = store.getters.belongDepts;
// this.test();
},
@@ -1305,7 +1508,6 @@
return this.illnesslist.length - 10;
},
},
-
methods: {
// 鍏叡鏂规硶---------------
getIndexInArray(arr, obj) {
@@ -1332,14 +1534,27 @@
// 鑾峰彇鏁版嵁
getissueinfo() {
this.id = this.$route.query.id;
+ this.queryParamsdept.tempid = this.id;
+ this.ruleForm = {
+ svyTemplateLibScripts: [],
+ tempDetpRelevances: [],
+ svyLibTemplateTagList: [],
+ scoreType: "4",
+ isenable: "0",
+ longTemp: "0",
+ sendDay: "5",
+ };
+ this.topicobj = {};
+
if (this.id) {
getQtemplateobj({ svyid: this.id }).then((res) => {
this.ruleForm = res.rows[0];
this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
this.processElement
);
- this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
- this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ console.log(this.dynamicTags, "this.dynamicTags");
+ if (this.ruleForm.suitway)
+ this.ruleForm.suitway = this.ruleForm.suitway.split(",");
});
getillness({ outid: this.id, type: 5 }).then((res) => {
this.illnesslist = res.rows;
@@ -1351,71 +1566,206 @@
this.ruleForm.isenable = "1";
}
- listDept(this.queryParams).then((response) => {
- this.deptList = this.handleTree(response.data, "deptId");
- });
// 鍒嗙被
getQtemplateclassify({}).then((res) => {
this.optionsclass = res.rows;
});
+ this.tempDetpRelevanceslist = [];
+ this.tempbelongWards = [];
+ if (this.queryParamsdept.tempid) {
+ depthospgetsonlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (item.deptType == 1) {
+ this.deptlist.push(item);
+ this.tempDetpRelevanceslist.push(item.deptCode);
+ } else if (item.deptType == 2) {
+ this.hosplist.push(item);
+ this.tempbelongWards.push(item.deptCode);
+ }
+ });
+ }
+ });
+ }
+ },
+ // 鑾峰彇绉戝鏍�
+ getDeptTree() {
+ // 绉戝鍒楄〃
+ deptTreeSelect().then((response) => {
+ this.deptOptions = response.data;
+ this.flatArray = this.flattenArray(response.data);
+ });
+ },
+ flattenArray(multiArray) {
+ let result = [];
+
+ // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱�
+ function flatten(element) {
+ // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊
+ if (element.children && element.children.length > 0) {
+ element.children.forEach((child) => flatten(child));
+ } else {
+ // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹�
+ let item = JSON.parse(JSON.stringify(element));
+ result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍
+ }
+ }
+
+ // 浠庨《灞傚厓绱犲紑濮嬮�掑綊
+ multiArray.forEach((element) => flatten(element));
+ return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁�
},
submitForm(formName) {
- this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��...");
- this.ruleForm.suitway = this.ruleForm.suitway.join(",");
-
+ this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��...");
+ if (Array.isArray(this.ruleForm.suitway)) {
+ this.ruleForm.suitway = this.ruleForm.suitway.join(",");
+ }
+ if (!this.ruleForm.categoryid) {
+ this.ruleForm.categoryid = -1;
+ }
+ // 棰樼洰淇濆瓨澶勭悊
+ // 鎻愪氦
+ this.ruleForm.svyTemplateLibScripts.forEach((res) => {
+ if (!res.isoperation) {
+ res.isoperation = 2;
+ }
+ res.ivrLibaScriptTargetoptionList = res.svyLibTemplateTargetoptions.map(
+ (item) => {
+ if (!item.isoperation) {
+ item.isoperation = 2;
+ item.templateID = this.ruleForm.id;
+ }
+ return item;
+ }
+ );
+ });
+ this.delScriptVOList.forEach((item) => {
+ this.ruleForm.svyTemplateLibScripts.push(item);
+ });
if (this.id) {
this.ruleForm.isoperation = 2;
+ this.ruleForm.tempDetpRelevances = null;
compileQtemplate(this.ruleForm).then((res) => {
this.$modal.msgSuccess("淇敼鎴愬姛");
this.confirmillness();
+ this.putbelongDepts();
this.$modal.closeLoading();
this.$router.go(-1);
+ // window.location.reload();
});
} else {
this.ruleForm.isoperation = 1;
this.ruleForm.version = this.ruleForm.version
? this.ruleForm.version
: "1.0";
+ this.ruleForm.tempDetpRelevances = null;
compileQtemplate(this.ruleForm).then((res) => {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.confirmillness(res.data);
+ this.putbelongDepts(res.data);
this.$modal.closeLoading();
this.$router.go(-1);
});
}
},
- // 绉戝澶勭悊
+ // 棰樼洰鏍¢獙
+ toExamine() {
+ // 閬嶅巻棰樼洰闆嗗悎
+ for (let i = 0; i < this.ruleForm.svyTemplateLibScripts.length; i++) {
+ const question = this.ruleForm.svyTemplateLibScripts[i];
+
+ // 濡傛灉 scriptType 涓� 4锛屽垯璺宠繃褰撳墠棰樼洰
+ if (question.scriptType === 4) {
+ continue;
+ }
+ // 鑾峰彇褰撳墠棰樼洰鐨勯�夐」闆嗗悎
+ const options = question.svyLibTemplateTargetoptions;
+
+ // 鍒涘缓涓�涓� Set 鏉ュ瓨鍌ㄩ�夐」鍚嶇О锛岀敤浜庢娴嬮噸澶�
+ const optionNames = new Set();
+
+ // 閬嶅巻閫夐」闆嗗悎
+ for (let j = 0; j < options.length; j++) {
+ const option = options[j];
+ const optionContent = option.optioncontent;
+
+ // 濡傛灉閫夐」鍚嶇О宸茬粡瀛樺湪浜� Set 涓紝璇存槑閲嶅
+ if (optionNames.has(optionContent)) {
+ this.$message.error(
+ `棰樼洰 ${question.id} 鐨勯�夐」鍚嶇О "${optionContent}" 閲嶅`
+ );
+ return false; // 杩斿洖 false 琛ㄧず鏍¢獙澶辫触
+ }
+ // 灏嗛�夐」鍚嶇О娣诲姞鍒� Set 涓�
+ optionNames.add(optionContent);
+ }
+ }
+
+ // 濡傛灉鎵�鏈夐鐩兘鏍¢獙閫氳繃锛岃繑鍥� true
+ console.log("鎵�鏈夐鐩牎楠岄�氳繃锛岄�夐」鍚嶇О鏃犻噸澶�");
+ this.Departmenttreatment();
+ },
+
+ // 绉戝/闄㈠尯澶勭悊
Departmenttreatment() {
- this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
- this.ruleForm.svyTemplateLibScripts =
- this.ruleForm.svyTemplateLibScripts.concat(this.delScriptVOList);
- const result = this.tempDetpRelevanceslist.map(
- (subArr) => subArr[subArr.length - 1]
- );
- // id鏁扮粍鏌ユ暟缁勫璞�
- result.forEach((item) => {
- const condition = this.ruleForm.tempDetpRelevances.some(
- (obj) => obj.deptId === item
- );
- if (!condition) {
- listDept({ deptId: item }).then((res) => {
- console.log(res.data[0]);
- res.data[0].type = 2;
- this.ruleForm.tempDetpRelevances.push(res.data[0]);
+ this.tempDetpRelevanceslist.forEach((item) => {
+ console.log(item);
+ let result = this.deptlist.some((obj) => obj.deptCode == item);
+ console.log(this.result, "result");
+
+ if (!result) {
+ this.tempDetpRelevanceslistform.push({
+ deptType: 1,
+ longTemp: this.ruleForm.longTemp,
+ deptCode: item,
+ tempid: this.id,
+ type: 1,
});
}
});
- // 鏁扮粍瀵硅薄鏌d鏁扮粍
- this.ruleForm.tempDetpRelevances.forEach((item) => {
- const condition = result.some((obj) => obj === item.deptId);
- if (!condition) {
- const index = this.ruleForm.tempDetpRelevances.indexOf(item);
- this.ruleForm.tempDetpRelevances[index].delFlag = 1;
+ this.tempbelongWards.forEach((item) => {
+ let result = this.hosplist.some((obj) => obj.deptCode == item);
+ if (!result) {
+ this.tempbelongWardsform.push({
+ deptType: 2,
+ longTemp: this.ruleForm.longTemp,
+ deptCode: item,
+ tempid: this.id,
+ type: 1,
+ });
}
});
+
+ // return
setTimeout(() => {
this.submitForm();
- }, 1000);
+ }, 500);
+ },
+ // 绉戝鍒犻櫎瑙﹀彂
+ removetag(row) {
+ let result = this.deptlist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ console.log(result.length);
+ if (result.length) {
+ depthospgetsondel(result).then((res) => {
+ if (res.code) {
+ }
+ });
+ }
+ },
+ // 鍒犻櫎鍒犻櫎瑙﹀彂
+ removehpsp(row) {
+ let result = this.hosplist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ depthospgetsondel(result).then((res) => {
+ if (res.code) {
+ }
+ });
+ }
},
// 涓嬩竴姝�
nextstep() {
@@ -1444,10 +1794,10 @@
});
});
},
- // 鑾峰彇棰樼洰鍒楄〃
+ // 鑾峰彇闂鍒楄〃
getaddtopiclist() {
this.drawer = true;
- this.queryParams.scoretype = this.ruleForm.scoreType;
+ this.queryParams.scoreType = this.ruleForm.scoreType;
getissuelist(this.queryParams).then((res) => {
this.loading = false;
this.userList = res.rows;
@@ -1455,10 +1805,9 @@
console.log(this.userList);
});
},
- // 鏂板棰樼洰
+ // 鏂板闂
addtopic(row) {
row.isoperation = 1;
- console.log(row, "row");
row.svyLibScriptOptions.forEach((item) => {
item.isoperation = 1;
});
@@ -1477,7 +1826,6 @@
handleUpdate(row) {
this.topicobj = row;
this.radioas = "";
- console.log(this.topicobj, "鐪嬫暟鎹�");
// getissuelist({ svyid: row.svyid }).then((res) => {
// });
},
@@ -1516,7 +1864,7 @@
console.log(this.ruleForm.svyTemplateLibScripts);
},
- // 淇敼棰樼洰淇℃伅
+ // 淇敼闂淇℃伅
Submittopicobj() {
this.$modal
.confirm(
@@ -1532,7 +1880,7 @@
this.drawer = false;
this.sortFn();
- this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鐗堝け鏁�");
+ this.$modal.msgSuccess("闂鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
});
},
// 鏂板鍙橀噺
@@ -1636,6 +1984,30 @@
this.illnessVisible = false;
this.$modal.msgSuccess("缂栬緫鎴愬姛");
},
+ // 淇濆瓨绉戝/鐥呭尯
+ putbelongDepts(id) {
+ this.tempDetpRelevanceslistform.forEach((item) => {
+ if (!item.tempid) item.tempid = id;
+ });
+ this.tempbelongWardsform.forEach((item) => {
+ if (!item.tempid) item.tempid = id;
+ });
+ if (this.tempDetpRelevanceslistform.length > 0) {
+ depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("绉戝鏂板鎴愬姛");
+ }
+ });
+ }
+ if (this.tempbelongWardsform.length > 0) {
+ depthospgetson(this.tempbelongWardsform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛");
+ }
+ });
+ }
+ },
+
resetQuery() {
this.queryParams = { pageNum: 1, pageSize: 10 };
this.getaddtopiclist();
@@ -1786,7 +2158,7 @@
sumArray(arr) {
// const arrsum = arr;
// arrsum.forEach((item) => {
- // // 鍒ゆ柇棰樼洰鍜屾ā鐗堝眰绾�
+ // // 鍒ゆ柇闂鍜屾ā鏉垮眰绾�
// console.log(item, "涓�鏉¢摼璺�");
// const totalScore = item.reduce((accumulator, current) => {
@@ -1803,14 +2175,17 @@
const allGreaterThanTen = arr.every((array) => {
const totalScore = array.reduce((accumulator, current) => {
- return accumulator + current.score;
+ return accumulator + Number(current.score);
}, 0);
+ console.log(totalScore);
+ console.log(this.ruleForm.scriptScore);
+
return totalScore == this.ruleForm.scriptScore;
});
if (allGreaterThanTen) {
- this.$modal.msgSuccess("棰樼洰鍒嗗�肩疮鍔犲拰妯$増鎬诲垎鐩哥");
+ this.$modal.msgSuccess("鍒嗗�兼牎楠屾垚鍔�");
} else {
- this.$modal.msgError("棰樼洰鍒嗗�肩疮鍔犲拰妯$増鍒嗗�间笉绗�");
+ this.$modal.msgError("闂鍒嗗�肩疮鍔犲拰妯℃澘鍒嗗�间笉绗�");
}
},
@@ -1824,9 +2199,9 @@
);
if (notInB.length) {
- this.$modal.msgError("棰樼洰鏈叏閮ㄤ娇鐢�");
+ this.$modal.msgError("闂鏈叏閮ㄤ娇鐢�");
} else {
- this.$modal.msgSuccess("棰樼洰鍏ㄩ儴浣跨敤");
+ this.$modal.msgSuccess("闂鍏ㄩ儴浣跨敤");
}
});
arr.forEach((item) => {
@@ -1835,10 +2210,10 @@
return acc;
}, {});
const whether = item.values(idCount).some((count) => count > 1); // 濡傛灉鏈変换浣� id 鐨勮鏁板ぇ浜� 1 灏辫繑鍥� true
- if (!whether) this.$modal.msgError("閰嶇疆椤规湁棰樼洰閲嶅");
+ if (!whether) this.$modal.msgError("閰嶇疆椤规湁闂閲嶅");
});
},
- // 棰樼洰鍜岄�夐」闂寸殑鍒嗗�煎垽鏂�
+ // 闂鍜岄�夐」闂寸殑鍒嗗�煎垽鏂�
Scorejudgment() {
let scorearr = this.topicobj.svyLibScriptOptions;
let isValid = scorearr.every((score, index) => {
@@ -2042,7 +2417,10 @@
display: flex;
.presentation-left {
width: 45%;
- // height: 500px;
+ max-height: 80vh;
+ padding: 0 20px;
+ font-size: 18px;
+ overflow: auto;
.button-textxg {
color: #024df0;
}
@@ -2062,7 +2440,7 @@
}
.presentation-right {
width: 55%;
- max-height: 688px;
+ max-height: 80vh;
padding: 0 20px;
font-size: 18px;
overflow: auto;
--
Gitblit v1.9.3