From 720f7c4ce56ae4b9fc3884d0ed9393d79130b01c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 16 八月 2024 18:07:46 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionnaire/compilequer/index.vue | 2074 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 1,329 insertions(+), 745 deletions(-) diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index 03e8202..8100549 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -2,18 +2,27 @@ <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> <div class="sidecolumn"> - <div style="height: 400px"> - <el-steps direction="vertical" :active="Editprogress"> - <el-step title="鍩虹淇℃伅璁剧疆"></el-step> - <el-step title="闂嵎璁剧疆"></el-step> - <el-step - title="闂嵎棰勮" - description="杩欐槸涓�娈靛緢闀垮緢闀垮緢闀跨殑鎻忚堪鎬ф枃瀛�" - ></el-step> - <el-step - title="缁撴灉鍙嶉" - description="杩欐槸涓�娈靛緢闀垮緢闀垮緢闀跨殑鎻忚堪鎬ф枃瀛�" - ></el-step> + <div> + <el-steps finish-status="success" :active="Editprogress" simple> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 1" + >鍩虹淇℃伅</span + > + </template> + </el-step> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 2" + >闂嵎棰樼洰</span + > + </template> + </el-step> + <el-step description="鏌ョ湅闂嵎棰勮锛屽彲瀵煎嚭PDF"> + <span slot="title" style="cursor: pointer" @click="Editprogress = 3" + >闂嵎棰勮</span + > + </el-step> </el-steps> </div> </div> @@ -21,9 +30,8 @@ <div class="leftvlue"> <!-- 鍩烘湰淇℃伅 --> <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx"> - 鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span> - </div> + <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div> + <el-divider></el-divider> <el-form :model="ruleForm" :rules="rules" @@ -31,20 +39,157 @@ label-width="100px" class="demo-ruleForm" > - <el-form-item label="娲诲姩鍚嶇О" prop="name"> - <el-input v-model="ruleForm.name"></el-input> + <el-row :gutter="10"> + <el-col :span="10"> + <el-form-item label="闂嵎鍒嗙被" prop="region"> + <el-select + v-model="ruleForm.categoryid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in optionsclass" + :key="group.id" + :label="group.name" + > + <el-option + v-for="item in group.svyLibTemplateCategoryList" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-option-group> + </el-select> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="璇勪环绫诲瀷"> + <el-select + v-model="ruleForm.scoreType" + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option + v-for="group in appraiselist" + :key="group.value" + :label="group.label" + :value="group.value" + > + </el-option> + </el-select> + </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="娲诲姩鍖哄煙" prop="region"> + <el-form-item label="闂嵎鎻忚堪"> + <el-input + style="width: 40vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="ruleForm.description" + > + </el-input + ></el-form-item> + + <el-row> + <el-form-item label="鏍囩" prop="desc"> + <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 + remote + allow-create + reserve-keyword + default-first-option + :remote-method="remoteMethodtag" + :loading="loading" + 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> + <div class="xinz-infs"> + <el-form-item label="閫傜敤鐤剧梾" prop="region"> + <el-tag + v-for="tag in displayedTags" + :key="tag.icdid" + type="warning" + :disable-transitions="false" + > + {{ tag.icdname }} + </el-tag> + <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-select - v-model="ruleForm.region" + v-model="ruleForm.suitway" size="medium" multiple filterable - placeholder="璇烽�夋嫨娲诲姩鍖哄煙" + placeholder="璇烽�夋嫨鍒嗙被" > <el-option class="ruleFormaa" - v-for="item in options" + v-for="item in mode" :key="item.value" :label="item.label" :value="item.value" @@ -52,214 +197,463 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="娲诲姩褰㈠紡" prop="desc"> - <el-input - :rows="4" - type="textarea" - v-model="ruleForm.desc" - ></el-input> + + <el-form-item label="閫傜敤闄㈠尯" prop="region"> + <el-select + v-model="ruleForm.campus" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <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-form-item> - <el-button type="success" @click="submitForm('ruleForm')" + <el-button type="success" @click="nextstep('ruleForm')" >涓嬩竴姝�</el-button > - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + <el-button @click="Departmenttreatment('ruleForm')" + >淇濆瓨闂嵎鍩虹淇℃伅</el-button + > </el-form-item> </el-form> </div> <!-- 闂嵎璁剧疆 --> <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx">闂嵎璁剧疆</div> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <el-form-item label="闂嵎浠嬬粛" prop="desc"> - <el-cascader - class="demo-cascader" - v-model="ruleForm.templatevalue" - :options="options" - :props="{ expandTrigger: 'hover' }" - ></el-cascader> - <el-select v-model="ruleForm.data2" placeholder="鎻愪氦鎻愮ず"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - <div style="display: flex; margin-top: 20px"> - <div class="PreviewTemplate" @click="PreviewTemplate()"> - 棰勮妯$増 - </div> - <el-button type="primary">纭寮曠敤</el-button> - </div> - </el-form-item> - <el-form-item label="娲诲姩褰㈠紡" prop="desc"> - <el-input type="textarea" v-model="ruleForm.desc"></el-input> - </el-form-item> - <el-form-item label="娲诲姩褰㈠紡" prop="desc"> - <el-input type="textarea" v-model="ruleForm.desc"></el-input> - <div class="addtopic"> - <el-select - v-model="addvalue" - @change="changeaddtopic" - class="addtopic-input" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </div> - - <div class="presentation"> - <div class="presentation-left"> - <el-table v-loading="loading" :data="userList"> - <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" - width="300" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-button - size="medium" - type="text" - @click="goQRCode(scope.row)" - v-hasPermi="['system:user:edit']" - > - <span class="button-text" - ><i class="el-icon-edit"></i>浜岀淮鐮�</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="ViewQuestionnaire(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textck" - ><i class="el-icon-edit"></i>鏌ョ湅</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-scissors"></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"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </div> - <div class="presentation-right"> - <div class="headline">棰樼洰璁剧疆璇︽儏</div> - <div>棰樼洰鏍囬锛�<span>杩欏鏈烘瀯鎬庝箞鏍�</span></div> - <div>鏄惁蹇呯瓟锛�<span>鏄�</span> 鏄惁闅愯棌锛�<span>鍚�</span></div> - <div class="headline">閫夐」璁剧疆</div> - <div> - <p>閫夐」1:<span>鍖荤枟鏈烘瀯</span></p> - <p> - 濉啓鏄庣粏锛�<span>鏃�</span> 寮傚父閫夐」锛�<span>鏃�</span> - 鍒嗗�硷細<span>3</span> - </p> - <p>閫変腑鎻愮ず锛�<span>杩欎釜棰樻湁鐐归毦璇锋敞鎰�</span></p> - <p>閫変腑璺宠浆锛�<span>鏃�</span></p> - </div> - </div> - </div> - </el-form-item> - <el-form-item> - <el-button type="success" @click="submitForm('ruleForm')" - >涓嬩竴姝�</el-button + <div class="leftvlue-jbxx">闂嵎棰樼洰璁剧疆</div> + <el-divider></el-divider> + <div style="display: flex; justify-content: space-between"> + <div> + <el-button + type="primary" + icon="el-icon-plus" + round + @click="getaddtopiclist" + >娣诲姞棰樼洰</el-button > - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </el-form-item> - </el-form> + <el-button + type="success" + icon="el-icon-edit-outline" + round + @click="Operateit = !Operateit" + >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button + > + </div> + <div style="display: flex"> + <span + style=" + width: 180px; + font-size: 20px; + font-weight: normal; + color: red; + " + >闂嵎鎬诲垎锛�</span + > + <el-input + v-model="ruleForm.scriptScore" + placeholder="璇疯緭鍏ュ垎鏁�" + ></el-input> + </div> + </div> + <div class="presentation"> + <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> + <el-card class="box-card" style="min-height: 688px"> + <el-table + v-loading="loading" + :data="ruleForm.svyTemplateLibScripts" + > + <el-table-column + label="搴忓彿" + align="center" + key="sort" + prop="sort" + width="50" + /> + <el-table-column + label="棰樼洰鏍囬" + align="center" + key="scriptTopic" + prop="scriptTopic" + :show-overflow-tooltip="true" + /> + <el-table-column + label="棰樺瀷" + align="center" + key="scriptType" + prop="scriptType" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <dict-tag + :options="askvaluetype" + :value="scope.row.scriptType" + /> + </template> + </el-table-column> + <el-table-column + v-if="!Operateit" + label="棰樼洰鍐呭" + align="center" + key="scriptContent" + prop="scriptContent" + :show-overflow-tooltip="true" + /> + <el-table-column + v-if="!Operateit" + label="鎸囨爣鍚嶇О" + align="center" + key="targetname" + prop="targetname" + :show-overflow-tooltip="true" + /> + <el-table-column + v-if="!Operateit" + label="鏄惁蹇呭~" + align="center" + key="ismandatory" + prop="ismandatory" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <dict-tag + :options="required" + :value="scope.row.ismandatory" + /> + </template> + </el-table-column> + <el-table-column + label="涓嬮璺宠浆" + align="center" + key="nextScriptno" + prop="nextScriptno" + :show-overflow-tooltip="true" + /> + + <el-table-column + v-if="Operateit" + label="鎿嶄綔" + align="center" + width="250" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + icon="el-icon-edit" + type="primary" + circle + @click="handleUpdate(scope.row)" + ></el-button> + <el-button + type="danger" + icon="el-icon-delete" + circle + @click="handleDelete(scope.row)" + ></el-button> + <el-button + @click="syioption(scope.row)" + type="success" + icon="el-icon-top" + circle + ></el-button> + <el-button + @click="xiayioption(scope.row)" + type="success" + icon="el-icon-bottom" + circle + ></el-button> + </template> + </el-table-column> + </el-table> + </el-card> + </div> + <div class="presentation-right" v-if="Operateit"> + <el-card class="box-card"> + <el-form + :inline="true" + :model="topicobj" + class="demo-form-inline" + > + <div class="headline">棰樼洰璁剧疆璇︽儏</div> + <el-row :gutter="10"> + <el-col :span="12"> + <el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="topicobj.scriptTopic" + placeholder="璇疯緭鍏ユ爣棰�" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="涓嬮璺宠浆" v-if="!topicobj.branchFlag"> + <el-input + v-model="topicobj.nextScriptno" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="topicobj.ismandatory" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in required" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="鏄惁鍙敤"> + <el-select + v-model="topicobj.isavailable" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item + label="棰樼洰鍒嗗��" + v-if="topicobj.scoretype == 1" + > + <el-input + v-model="topicobj.score" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-form-item label="鏄惁鐢遍�夐」閰嶇疆璺宠浆"> + <el-radio-group v-model="topicobj.branchFlag"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <div v-if="topicobj.scriptType != 3"> + <div class="headline">閫夐」璁剧疆</div> + <div + class="topicxq" + v-for="item in topicobj.svyLibTemplateTargetoptions" + > + <el-row :gutter="5"> + <el-col :span="16" + ><el-form-item label="閫夐」"> + <el-input + type="text" + placeholder="璇疯緭鍏ラ�夐」" + v-model="item.optioncontent" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + <el-col :span="8"> + <el-form-item + v-if="topicobj.scoretype == 1" + label="鍒嗗��" + > + <el-input + class="custom-width" + type="text" + placeholder="璇疯緭鍏ラ�夐」鍒嗗��" + v-model="item.score" + show-word-limit + > + </el-input> + </el-form-item> + <el-form-item + v-else-if="topicobj.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-group> + </el-form-item> + <el-form-item + v-else-if="topicobj.scoretype == 3" + label="浼樿壇绛夌骇" + > + <el-radio-group v-model="item.score"> + <el-radio label="浼�">浼�</el-radio> + <el-radio label="鑹�">鑹�</el-radio> + <el-radio label="宸�">宸�</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="涓嬮璺宠浆(搴忓彿)"> + <el-input + type="text" + placeholder="璇疯緭鍏ラ鍙�" + v-model="item.nextQuestion" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-form-item label="閫変腑鎻愮ず"> + <el-input + style="width: 20vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="item.prompt" + > + </el-input + ></el-form-item> + </el-row> + <el-row :gutter="10"> + <el-form-item label="閫夐」鏂囦欢" prop="sickness"> + <div style="width: 40vw"> + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="item.picturePath" + :preview-src-list="[...item.picturePath]" + > + </el-image> + </div> + </div> + </el-form-item> + </el-row> + </div> + </div> + <div v-else> + <div class="topicxq"> + <el-row :gutter="10"> + <el-form-item label="绛旀"> + <el-input + style="width: 20vw" + type="textarea" + autosize + placeholder="姝ゅ鏀剧疆鎮h�呭洖绛�" + v-model="topicobj.reply" + > + </el-input + ></el-form-item> + </el-row> + <el-form-item label="鍒嗗��"> + <el-input + type="text" + placeholder="璇疯緭鍏ラ�夐」鍒嗗��" + v-model="topicobj.score" + show-word-limit + > + </el-input> + </el-form-item> + </div> + </div> + </el-form> + </el-card> + </div> + </div> + + <el-button type="success" @click="nextstep('ruleForm')" + >涓嬩竴姝�</el-button + > + <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + <el-button @click="Departmenttreatment('ruleForm')" + >淇濆瓨棰樼洰鏁版嵁</el-button + > </div> <!-- 闂嵎棰勮 --> <div v-if="Editprogress == 3"> + <div class="leftvlue-jbxx">闂嵎棰勮</div> + <el-divider></el-divider> <div class="preview-left"> <!-- 鍗曢�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in ruleForm.svyTemplateLibScripts" + :key="item.sort" + v-if="item.scriptType == 1" + > <div class="dev-text"> - {{ item.idd }}銆乕鍗曢�塢<span>{{ item.wssd }}</span> + {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-radio-group v-model="radio"> + <el-radio-group v-model="item.remark"> <el-radio - v-for="(items, index) in item.sdadd" + v-for="(items, index) in item.svyLibTemplateTargetoptions" :key="index" :label="index" - >{{ items }}</el-radio + >{{ items.optioncontent }}</el-radio > </el-radio-group> </div> </div> <!-- 澶氶�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in ruleForm.svyTemplateLibScripts" + :key="item.sort" + v-if="item.scriptType == 2" + > <div class="dev-text"> - {{ item.idd }}銆乕澶氶�塢<span>{{ item.wssd }}</span> + {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-checkbox-group v-model="radios"> + <el-checkbox-group v-model="qremark"> <el-checkbox - v-for="(items, index) in item.sdadd" + v-for="(items, index) in item.svyLibTemplateTargetoptions" :key="index" :label="index" > - {{ items }} + {{ items.optioncontent }} </el-checkbox> </el-checkbox-group> </div> </div> <!-- 濉┖ --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in ruleForm.svyTemplateLibScripts" + :key="item.sort" + v-if="item.scriptType == 3" + > <div class="dev-text"> - {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span> + {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> @@ -267,492 +661,192 @@ </div> </div> </div> - <el-button type="success" @click="submitForm('ruleForm')" - >涓嬩竴姝�</el-button - > + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + <el-button>瀵煎嚭涓簆df</el-button> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> --> - </div> - <!-- 缁撴灉鍙嶉 --> - <div v-if="Editprogress == 4"> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <el-form-item label="娲诲姩鍚嶇О" prop="name"> - <el-input v-model="ruleForm.name"></el-input> - </el-form-item> - <el-form-item label="娲诲姩鍖哄煙" prop="region"> - <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> - </el-select> - </el-form-item> - <el-form-item label="娲诲姩鏃堕棿" required> - <el-col :span="11"> - <el-form-item prop="date1"> - <el-date-picker - type="date" - placeholder="閫夋嫨鏃ユ湡" - v-model="ruleForm.date1" - style="width: 100%" - ></el-date-picker> - </el-form-item> - </el-col> - <el-col class="line" :span="2">-</el-col> - <el-col :span="11"> - <el-form-item prop="date2"> - <el-time-picker - placeholder="閫夋嫨鏃堕棿" - v-model="ruleForm.date2" - style="width: 100%" - ></el-time-picker> - </el-form-item> - </el-col> - </el-form-item> - <el-form-item label="鍗虫椂閰嶉��" prop="delivery"> - <el-switch v-model="ruleForm.delivery"></el-switch> - </el-form-item> - <el-form-item label="娲诲姩鎬ц川" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="缇庨/椁愬巺绾夸笂娲诲姩" name="type"></el-checkbox> - <el-checkbox label="鍦版帹娲诲姩" name="type"></el-checkbox> - <el-checkbox label="绾夸笅涓婚娲诲姩" name="type"></el-checkbox> - <el-checkbox label="鍗曠函鍝佺墝鏇濆厜" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="鐗规畩璧勬簮" prop="resource"> - <el-radio-group v-model="ruleForm.resource"> - <el-radio label="绾夸笂鍝佺墝鍟嗚禐鍔�"></el-radio> - <el-radio label="绾夸笅鍦哄湴鍏嶈垂"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="娲诲姩褰㈠紡" prop="desc"> - <el-input type="textarea" v-model="ruleForm.desc"></el-input> - </el-form-item> - <el-form-item> - <el-button type="success" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button - > - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </el-form-item> - </el-form> </div> </div> - <!-- 棰勮妯$増寮圭獥 --> + <!-- 娣诲姞棰樼洰寮圭獥 --> <el-drawer - title="闂嵎棰勮" + title="娣诲姞棰樼洰" :visible.sync="drawer" custom-class="demo-drawer" - width="50%" + size="50%" > <div class="preview-left"> - <!-- 鍗曢�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> - <div class="dev-text"> - {{ item.idd }}銆乕鍗曢�塢  <span>{{ item.wssd }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="radio"> - <el-radio - v-for="(items, index) in item.sdadd" - :key="index" - :label="index" - >{{ items }}</el-radio + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" + > + <el-form-item label="闂鏍囬" prop="scriptTopic"> + <el-input + v-model="queryParams.scriptTopic" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="getaddtopiclist" + /> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="getaddtopiclist" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-table v-loading="loading" :data="userList"> + <el-table-column + label="鏍囬" + align="center" + key="scriptTopic" + prop="scriptTopic" + width="100" + /> + <el-table-column + label="闂鍐呭" + align="center" + key="scriptContent" + prop="scriptContent" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="閫夐」鍐呭" + align="center" + key="targetoptions" + prop="targetoptions" + width="200" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="鎿嶄綔" + align="center" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button size="medium" type="text" @click="addtopic(scope.row)" + ><span class="button-textxg" + ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span + ></el-button > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> - <div class="dev-text"> - {{ item.idd }}銆乕澶氶�塢  <span>{{ item.wssd }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="radios"> - <el-checkbox - v-for="(items, index) in item.sdadd" - :key="index" - :label="index" - > - {{ items }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> - <div class="dev-text"> - {{ item.idd }}銆乕濉┖]  <span>{{ item.wssd }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> - </div> + </template> + </el-table-column> + </el-table> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getaddtopiclist" + /> </div> </el-drawer> + <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="illnesslist" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> <script> +import { listtag } from "@/api/system/label"; +import { listDept } from "@/api/system/dept"; +import store from "@/store"; +import { + getQtemplateclassify, + delQtemplateclassify, + addQtemplateclassify, + getQtemplateobj, + compileQtemplate, + Qtemplateinfo, + compileissue, + delQtemplateinfo, + Followupinfo, + issueinfo, + getissuelist, + deltargetillness, + addtargetillness, + getillnesslist, + illnesslistget, + getillness, +} from "@/api/AiCentre/index"; +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 +import { getToken } from "@/utils/auth"; + export default { + name: "Qcompilequer", + + components: { OptionalForm }, + data() { return { + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", sidecolumnrabs: "left", //鏂瑰悜 - Editprogress: 2, //缂栬緫杩涘害 + Editprogress: 1, //缂栬緫杩涘害 currentVersion: "1.2.3", //褰撳墠鐗堟湰 loading: false, // 閬僵灞� drawer: false, //鎺у埗灞曞紑 radio: "false", //鍗曢�夐閫変腑 radios: [], //澶氶�夐閫変腑 radioas: "", //濉┖棰樼瓟妗� + dynamicTags: [], + inputVisible: false, + dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 + inputValue: "", + topicobj: {}, // 鎬绘潯鏁� total: 1, ruleForm: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - templatevalue: "", - data2: "", + svyTemplateLibScripts: [], + tempDetpRelevances: [], + svyLibTemplateTagList: [], }, rules: {}, - rulesa: { - name: [ - { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" }, - { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" }, - ], - region: [ - { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" }, - ], - date1: [ - { - type: "date", - required: true, - message: "璇烽�夋嫨鏃ユ湡", - trigger: "change", - }, - ], - date2: [ - { - type: "date", - required: true, - message: "璇烽�夋嫨鏃堕棿", - trigger: "change", - }, - ], - type: [ - { - type: "array", - required: true, - message: "璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川", - trigger: "change", - }, - ], - resource: [ - { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" }, - ], - desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }], - }, - // options: [ - // { - // value: "閫夐」1", - // label: "榛勯噾绯�", - // }, - // { - // value: "閫夐」2", - // label: "鍙岀毊濂�", - // }, - // { - // value: "閫夐」3", - // label: "铓典粩鐓�", - // }, - // { - // value: "閫夐」4", - // label: "榫欓』闈�", - // }, - // { - // value: "閫夐」5", - // label: "鍖椾含鐑ら腑", - // }, - // ], - options: [ + rulesa: {}, + optionsclass: [], //鍒嗙被鍒楄〃 + optionlist: [ + { value: "scriptTopic", table: "scriptTopic" }, + { value: "scriptTopic", table: "scriptTopic" }, + ], + + appraiselist: [], + + fileList: [ { - value: "zhinan", - label: "鎸囧崡", - children: [ - { - value: "shejiyuanze", - label: "璁捐鍘熷垯", - children: [ - { - value: "yizhi", - label: "涓�鑷�", - }, - { - value: "fankui", - label: "鍙嶉", - }, - { - value: "xiaolv", - label: "鏁堢巼", - }, - { - value: "kekong", - label: "鍙帶", - }, - ], - }, - { - value: "daohang", - label: "瀵艰埅", - children: [ - { - value: "cexiangdaohang", - label: "渚у悜瀵艰埅", - }, - { - value: "dingbudaohang", - label: "椤堕儴瀵艰埅", - }, - ], - }, - ], + name: "food.jpeg", + url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, { - value: "zujian", - label: "缁勪欢", - children: [ - { - value: "basic", - label: "Basic", - children: [ - { - value: "layout", - label: "Layout 甯冨眬", - }, - { - value: "color", - label: "Color 鑹插僵", - }, - { - value: "typography", - label: "Typography 瀛椾綋", - }, - { - value: "icon", - label: "Icon 鍥炬爣", - }, - { - value: "button", - label: "Button 鎸夐挳", - }, - ], - }, - { - value: "form", - label: "Form", - children: [ - { - value: "radio", - label: "Radio 鍗曢�夋", - }, - { - value: "checkbox", - label: "Checkbox 澶氶�夋", - }, - { - value: "input", - label: "Input 杈撳叆妗�", - }, - { - value: "input-number", - label: "InputNumber 璁℃暟鍣�", - }, - { - value: "select", - label: "Select 閫夋嫨鍣�", - }, - { - value: "cascader", - label: "Cascader 绾ц仈閫夋嫨鍣�", - }, - { - value: "switch", - label: "Switch 寮�鍏�", - }, - { - value: "slider", - label: "Slider 婊戝潡", - }, - { - value: "time-picker", - label: "TimePicker 鏃堕棿閫夋嫨鍣�", - }, - { - value: "date-picker", - label: "DatePicker 鏃ユ湡閫夋嫨鍣�", - }, - { - value: "datetime-picker", - label: "DateTimePicker 鏃ユ湡鏃堕棿閫夋嫨鍣�", - }, - { - value: "upload", - label: "Upload 涓婁紶", - }, - { - value: "rate", - label: "Rate 璇勫垎", - }, - { - value: "form", - label: "Form 琛ㄥ崟", - }, - ], - }, - { - value: "data", - label: "Data", - children: [ - { - value: "table", - label: "Table 琛ㄦ牸", - }, - { - value: "tag", - label: "Tag 鏍囩", - }, - { - value: "progress", - label: "Progress 杩涘害鏉�", - }, - { - value: "tree", - label: "Tree 鏍戝舰鎺т欢", - }, - { - value: "pagination", - label: "Pagination 鍒嗛〉", - }, - { - value: "badge", - label: "Badge 鏍囪", - }, - ], - }, - { - value: "notice", - label: "Notice", - children: [ - { - value: "alert", - label: "Alert 璀﹀憡", - }, - { - value: "loading", - label: "Loading 鍔犺浇", - }, - { - value: "message", - label: "Message 娑堟伅鎻愮ず", - }, - { - value: "message-box", - label: "MessageBox 寮规", - }, - { - value: "notification", - label: "Notification 閫氱煡", - }, - ], - }, - { - value: "navigation", - label: "Navigation", - children: [ - { - value: "menu", - label: "NavMenu 瀵艰埅鑿滃崟", - }, - { - value: "tabs", - label: "Tabs 鏍囩椤�", - }, - { - value: "breadcrumb", - label: "Breadcrumb 闈㈠寘灞�", - }, - { - value: "dropdown", - label: "Dropdown 涓嬫媺鑿滃崟", - }, - { - value: "steps", - label: "Steps 姝ラ鏉�", - }, - ], - }, - { - value: "others", - label: "Others", - children: [ - { - value: "dialog", - label: "Dialog 瀵硅瘽妗�", - }, - { - value: "tooltip", - label: "Tooltip 鏂囧瓧鎻愮ず", - }, - { - value: "popover", - label: "Popover 寮瑰嚭妗�", - }, - { - value: "card", - label: "Card 鍗$墖", - }, - { - value: "carousel", - label: "Carousel 璧伴┈鐏�", - }, - { - value: "collapse", - label: "Collapse 鎶樺彔闈㈡澘", - }, - ], - }, - ], - }, - { - value: "ziyuan", - label: "璧勬簮", - children: [ - { - value: "axure", - label: "Axure Components", - }, - { - value: "sketch", - label: "Sketch Templates", - }, - { - value: "jiaohu", - label: "缁勪欢浜や簰鏂囨。", - }, - ], + name: "food2.jpeg", + url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, ], + + variablelist: [ + { + variable: "paitent", + value: "琛ㄧず鎮h�呯殑鏍囪瘑", + }, + ], + valssu: [ { idd: 1, @@ -760,100 +854,542 @@ sdadd: ["sss", "ssccss", "ssaas", "ss"], }, ], - // options: [ - // { - // value: "閫夐」1", - // label: "鍗曢��", - // }, - // { - // value: "閫夐」2", - // label: "澶氶��", - // disabled: true, - // }, - // { - // value: "閫夐」3", - // label: "濉┖", - // }, - // ], addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 - userList: [ - { - userid: "1", - userName: "涓�鍙烽棶鍗�", - }, - { - userid: "2", - userName: "浜屽彿闂嵎", - }, - { - userid: "3", - userName: "涓夊彿闂嵎", - }, - { - userid: "4", - userName: "鍥涘彿闂嵎", - }, + userList: [], + deptList: [], + props: { multiple: true, value: "deptId", label: "deptName" }, + themelist: [], + languagelist: [], + courtyardlist: [], + askvaluetype: [], + precedencetype: [], + inputValueillness: "", + inputVisible: false, + inputVisibleillness: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + Operateit: true, + deptOptions: [], + optionsillness: [], + delScriptVOList: [], + illnesslistapi: [], + illnesslist: [], + tempDetpRelevanceslist: [], + optionstag: [], + valuetype: [], + qremark: [], + usable: [ + { value: "0", label: "鍙敤" }, + { value: "1", label: "鍋滅敤" }, ], + required: [ + { value: "1", label: "蹇呭~" }, + { value: "2", label: "涓嶅繀濉�" }, + ], + mode: [], //鏂瑰紡 // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, }, + 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" }, + ], + ], }; }, - created() {}, + created() { + this.gettabList(); + this.getissueinfo(); + this.mode = store.getters.Askmode; + this.languagelist = store.getters.languagelist; + this.usable = store.getters.usable; + this.required = store.getters.required; + this.valuetype = store.getters.valuetype; + this.courtyardlist = store.getters.courtyardlist; + this.askvaluetype = store.getters.askvaluetype; + this.appraiselist = store.getters.appraiselist; + + // this.test(); + }, + computed: { + displayedTags() { + // 杩斿洖鍓�10涓猼ag + return this.illnesslist.slice(0, 10); + }, + hasMore() { + // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag + return this.illnesslist.length > 10; + }, + remaining() { + // 璁$畻鍓╀綑鐨則ag鏁伴噺 + return this.illnesslist.length - 10; + }, + }, methods: { - submitForm(formName) { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - this.rules = this.rulesa; - // 鎻愪氦 - this.$refs[formName].validate((valid) => { - if (valid) { - alert("submit!"); - } else { - console.log("error submit!!"); - return false; + // 鍏叡鏂规硶--------------- + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + processElement(element) { + return { ...element, isoperation: 1 }; + }, + // 閫掑綊鎵佸钩鍖� + flattenArray(arr) { + let result = []; + arr.forEach((item) => { + result.push(item); + if (item.svyLibTemplateCategoryList) { + result = result.concat( + this.flattenArray(item.svyLibTemplateCategoryList) + ); + delete item.svyLibTemplateCategoryList; } }); + return result; }, - /** 鏌ヨ棰樼洰鍒楄〃 */ - getList() { - // this.loading = true; - listUser().then((response) => { - console.log(response); - // this.userList = response.data; - // this.total = response.total; - // this.loading = false; + // ----------------------------- + // 鑾峰彇鏁版嵁 + getissueinfo() { + this.id = this.$route.query.id; + 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(","); + }); + getillness({ outid: this.id, type: 5 }).then((res) => { + this.illnesslist = res.rows; + this.illnesslist.forEach((item) => { + item.icdname = item.icd10name; + }); + }); + } else { + this.ruleForm.isenable = "1"; + } + + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + // 鍒嗙被 + getQtemplateclassify({}).then((res) => { + this.optionsclass = res.rows; + }); + }, + submitForm(formName) { + this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��..."); + this.ruleForm.suitway = this.ruleForm.suitway.join(","); + if (condition) { + } + if (this.id) { + this.ruleForm.isoperation = 2; + compileQtemplate(this.ruleForm).then((res) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.confirmillness(); + this.$modal.closeLoading(); + this.$router.go(-1); + }); + } else { + this.ruleForm.isoperation = 1; + this.ruleForm.version = this.ruleForm.version ? ruleForm : "1.0"; + compileQtemplate(this.ruleForm).then((res) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.confirmillness(res.data); + + this.$modal.closeLoading(); + + this.$router.go(-1); + }); + } + }, + // 绉戝澶勭悊 + 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]); + }); + } + }); + // 鏁扮粍瀵硅薄鏌d鏁扮粍 + this.ruleForm.tempDetpRelevances.forEach((item) => { + const condition = result.some((obj) => obj === item.deptId); + if (!condition) { + console.log(condition); + const index = this.ruleForm.tempDetpRelevances.indexOf(item); + this.ruleForm.tempDetpRelevances[index].delFlag = 1; + } + }); + setTimeout(() => { + this.submitForm(); + }, 1000); + }, + // 涓嬩竴姝� + nextstep() { + if (this.Editprogress <= 2) { + return this.Editprogress++; + } + }, + // 涓婁竴姝� + laststep() { + this.Editprogress = this.Editprogress - 1; + }, + // 鍏抽棴 + closeFm() { + this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.$router.go(-1); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑�", + }); + }); + }, + // 鑾峰彇棰樼洰鍒楄〃 + getaddtopiclist() { + this.drawer = true; + this.queryParams.scoretype = this.ruleForm.scoreType; + getissuelist(this.queryParams).then((res) => { + this.loading = false; + this.userList = res.rows; + this.total = res.total; console.log(this.userList); }); - // const { rows } = await listUser(); - // console.log(rows); - // this.list = rows; }, - changeaddtopic(val) { - console.log(11); - console.log(val); - this.addvalue = "娣诲姞棰樼洰"; + // 鏂板棰樼洰 + addtopic(row) { + row.isoperation = 1; + console.log(row, "row"); + row.svyLibScriptOptions.forEach((item) => { + item.isoperation = 1; + }); + row.svyLibTemplateTargetoptions = row.svyLibScriptOptions; + this.ruleForm.svyTemplateLibScripts.push(row); + this.sortFn(); + this.$modal.msgSuccess("鏂板鎴愬姛"); }, - // 棰勮妯$増 - PreviewTemplate() { - this.drawer = true; + handleDelete(row) { + let index = this.ruleForm.svyTemplateLibScripts.indexOf(row); + this.ruleForm.svyTemplateLibScripts.splice(index, 1); + row.isoperation = 3; + this.delScriptVOList.push(row); + this.sortFn(); }, - laststep() { - this.Editprogress--; + handleUpdate(row) { + this.topicobj = row; + this.radioas = ""; + console.log(this.topicobj, "鐪嬫暟鎹�"); + // getissuelist({ svyid: row.svyid }).then((res) => { + // }); + }, + syioption(row) { + const index = this.getIndexInArray( + this.ruleForm.svyTemplateLibScripts, + row + ); + const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.svyTemplateLibScripts.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + this.sortFn(); + }, + xiayioption(row) { + const index = this.getIndexInArray( + this.ruleForm.svyTemplateLibScripts, + row + ); + const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.svyTemplateLibScripts.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + this.sortFn(); + }, + sortFn() { + console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�"); + this.ruleForm.svyTemplateLibScripts.forEach((item, index) => { + item.sort = Number(index) + 1; + console.log(this.ruleForm.svyTemplateLibScripts.length, "length"); + + if (item.sort == this.ruleForm.svyTemplateLibScripts.length) { + item.nextScriptno = "宸叉槸鏈�鍚庝竴棰�"; + } else { + item.nextScriptno = item.sort + 1; + } + if (item.svyLibTemplateTargetoptions) { + item.svyLibTemplateTargetoptions.forEach((items) => { + items.nextQuestion = Number(item.sort) + 1; + }); + } + }); + console.log(this.ruleForm.svyTemplateLibScripts); + }, + + // 淇敼棰樼洰淇℃伅 + Submittopicobj() {}, + // 鏂板鍙橀噺 + addvariable() { + this.variablelist.push({ + variable: "", + value: "", + }); + }, + // 鍒犻櫎鍙橀噺 + delvariable(item) { + const index = this.variablelist.indexOf(item); + if (index !== -1) { + this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� + } else { + console.log("鏈壘鍒拌瀵硅薄"); + } + }, + + // 鏍囩----------------- + 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.ruleForm.svyLibTemplateTagList[lindex].delFlag = 1; + + // this.ruleForm.ivrLibaTemplateTargetList[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.ruleForm.svyLibTemplateTagList.push(tagvalue); + // this.dynamicTags.push(tagvalue); + this.dynamicTags.push(tagvalue); + }); + } + this.inputVisible = false; + this.inputValue = ""; + }, + remoteMethodtag(query) { + if (query !== "") { + this.loading = true; + setTimeout(() => { + this.loading = false; + listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { + this.optionstag = res.rows; + }); + }, 200); + } else { + this.optionstag = []; + } + }, + showInput() { + this.inputVisible = true; + }, + // 淇濆瓨鐤剧梾 + confirmillness(guid) { + this.illnesslist.forEach((item, index) => { + if (guid) { + item.outid = guid; + } else { + console.log(this.ruleForm); + item.outid = this.ruleForm.svyid; + } + item.icd10name = item.icdname; + item.icd10code = item.icdcode; + item.type = 5; + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + }, + // -------------------------- + resetQuery() { + this.queryParams = { pageNum: 1, pageSize: 10 }; + this.getaddtopiclist(); }, resetForm(formName) { this.$refs[formName].resetFields(); + }, + // 闂嵎鍒嗘暟闄愬埗绠楁硶 + // 娣峰悎璺嚎 + generateCombinations(arrays, currentIndex = 0, currentCombination = []) { + if (currentIndex === arrays.length) { + return [currentCombination]; + } + + const currentArray = arrays[currentIndex]; + const newCombinations = []; + + for (const item of currentArray) { + const newCombination = [...currentCombination, item]; + const combinations = this.generateCombinations( + arrays, + currentIndex + 1, + newCombination + ); + newCombinations.push(...combinations); + } + return newCombinations; + }, + // 鎵ц + test() { + const arrays = [ + ["2", "3", "4", "5"], + ["1", "2", "5", "6"], + ["3", "4", "5", "3"], + ["3", "2", "5", "7"], + ]; + const arraysa = [ + { + id: 1, + grade: "5", + arr: [ + { name: "涓嶉敊", skip: 2 }, + { name: "涓�鑸�", skip: 2 }, + { name: "杩樹笉閿�", skip: 2 }, + { name: "寰堟", skip: 3 }, + ], + }, + + { + id: 2, + grade: "5", + arr: [ + { name: "浼樼", skip: 3 }, + { name: "鑹ソ", skip: 3 }, + { name: "涓�鑸�", skip: 3 }, + { name: "杈冨樊", skip: 4 }, + ], + }, + { + id: 3, + grade: "5", + arr: [ + { name: "鏄殑", skip: 4 }, + { name: "涓嶆竻妤�", skip: 4 }, + { name: "杩樺彲", skip: 4 }, + { name: "涓�鑸�", skip: 4 }, + ], + }, + { + id: 4, + grade: "5", + arr: [ + { name: "鐪熶笉閿�", skip: null }, + { name: "杩樺彲浠�", skip: null }, + { name: "涓�鑸埇", skip: null }, + { name: "涓嶆竻妤�", skip: null }, + ], + }, + ]; + + // const newMixArray = this.generateCombinations(arrays); + const newMixArray = this.getExecutionOrders(arraysa); + + console.log(newMixArray, "鍏ㄩ儴璺嚎"); + this.screen(newMixArray); + }, + getExecutionOrders(data) { + let orders = []; + + const explore = (currentOrder, id) => { + console.log(currentOrder, "currentOrder", id); + const currentQuestion = data[currentOrder[currentOrder.length - 1]]; + if ( + currentQuestion.arr.some( + (option) => + option.skip !== null && !currentOrder.includes(option.skip) + ) + ) { + currentQuestion.arr.forEach((option) => { + if (option.skip !== null && !currentOrder.includes(option.skip)) { + explore([...currentOrder, option.skip]); + } + }); + } else { + orders.push( + currentOrder.map((id) => ({ + id: data[id].id, + grade: data[id].grade, + })) + ); + } + }; + console.log(data, "data"); + data.forEach((entry) => { + explore([entry.id], entry.id); + }); + + return orders; + }, + + // 鏁扮粍姹傚拰 + sumArray(arr) { + return arr.reduce((acc, curr) => acc + parseInt(curr), 0); + }, + // 绛涢�夐敊璇矾绾� + screen(data) { + const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21); + + console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�"); }, }, }; @@ -861,29 +1397,25 @@ <style lang="scss" scoped> .Questionnairemanagement { - display: flex; + // display: flex; } .sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - // margin-top: 20px; - margin: 20px; - margin-bottom: 0; - padding: 30px; + margin: 10px 20px 0 20px; + padding: 20px; background: #edf1f7; 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); } .leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; + // // display: flex; + // // flex: 1; + // width: 80%; + // margin-top: 20px; + margin: 20px; padding: 30px; + padding-top: 5px; + margin-top: 10px; background: #ffff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), @@ -892,12 +1424,10 @@ font-size: 20px; } .leftvlue-jbxx { - margin-bottom: 50px; - font-size: 20px; - span { - position: absolute; - right: 80px; - } + font-size: 24px; + border-left: 5px solid #41a1be; + padding-left: 5px; + margin: 15px 0; } .demo-cascader { margin-right: 20px; @@ -917,12 +1447,44 @@ 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); - .topic-dev { + .scriptTopic-dev { margin-bottom: 25px; font-size: 20px !important; .dev-text { margin-bottom: 10px; } + } +} +.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; + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; } } .addtopic { @@ -932,8 +1494,18 @@ margin: 20px 0; display: flex; .presentation-left { - width: 50%; - height: 500px; + width: 45%; + // height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } + .spresentation-left { + width: 100%; + // height: 500px; .button-textxg { color: #024df0; } @@ -942,23 +1514,35 @@ } } .presentation-right { - width: 50%; - height: 500px; - padding: 20px; + width: 55%; + max-height: 688px; + padding: 0 20px; font-size: 18px; - border: 1px solid #909091; - span { - padding: 0 35px; - margin-right: 10px; - border-bottom: 1px solid #909091; - } + overflow: auto; .headline { font-size: 20px; border-left: 3px solid #41a1be; padding-left: 5px; margin: 15px 0; } + .topicxq { + background-color: #e2f5fc; + border-radius: 4px; + margin-top: 10px; + padding-left: 10px; + padding-top: 15px; + } } +} +.custom-width { + width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */ +} +.el-select { + width: 40%; +} + +.el-cascader { + width: 40%; } ::v-deep .addtopic-input { input { @@ -971,7 +1555,7 @@ font-size: 25px; } ::v-deep.el-input--medium { - font-size: 24px !important; + font-size: 18px !important; } ::v-deep.ruleFormaa.el-select { display: inline-block; @@ -986,7 +1570,7 @@ width: 22px; height: 22px; } -// ::v-deep.topic-dev.el-radio__label { +// ::v-deep.scriptTopic-dev.el-radio__label { // font-size: 24px; // } ::v-deep.el-radio-group { -- Gitblit v1.9.3