From 6e54a6688661a05de7c418612cea8b38bbc2dee3 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 14 四月 2025 11:28:26 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/intention/index.vue | 1028 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 656 insertions(+), 372 deletions(-) diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue index 10dd668..8e7a41d 100644 --- a/src/views/repositoryai/intention/index.vue +++ b/src/views/repositoryai/intention/index.vue @@ -3,7 +3,7 @@ <!-- 宸︿晶鏍� --> <div class="sidecolumn"> <div class="sidecolumn-top"> - <div class="top-wj">鎸囨爣绫诲瀷</div> + <div class="top-wj">鎸囨爣鍒嗙被</div> <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> </div> <div class="center-ss"> @@ -13,56 +13,46 @@ 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-menu - default-active="3" - class="el-menu-vertical-demo" - @open="handleOpen" - @close="handleClose" - @select="handleSelect" - > - <el-submenu index="1"> - <template slot="title"> - <i class="el-icon-location"></i> - <span>鍒嗙被涓�</span> - </template> - <el-menu-item index="1-1">閫夐」1</el-menu-item> - <el-menu-item index="1-2">閫夐」2</el-menu-item> - <el-menu-item index="1-3">閫夐」3</el-menu-item> - <el-menu-item index="1-4">閫夐」3</el-menu-item> - </el-submenu> - <el-submenu index="2"> - <template slot="title"> - <i class="el-icon-menu"></i> - <span>鍒嗙被浜�</span> - </template> - <el-menu-item index="2-1">閫夐」1</el-menu-item> - <el-menu-item index="2-2">閫夐」2</el-menu-item> - <el-menu-item index="2-3">閫夐」3</el-menu-item> - </el-submenu> - <el-submenu index="3"> - <template slot="title"> - <i class="el-icon-document"></i> - <span>鍒嗙被涓�</span> - </template> - <el-menu-item index="2-1">閫夐」1</el-menu-item> - </el-submenu> - <el-submenu index="4"> - <template slot="title"> - <i class="el-icon-setting"></i> - <span>鍒嗙被鍥�</span> - </template> - <el-menu-item index="2-1">閫夐」1</el-menu-item> - </el-submenu> - </el-menu> + <div 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)" + > + </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> <!-- 鍙充晶鏁版嵁 --> @@ -81,26 +71,24 @@ > <el-form-item label="鎸囨爣鍚嶇О" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.targetname" placeholder="璇疯緭鍏�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鏍囩" prop="sickness"> - <el-select v-model="queryParams.tag" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in dynamicTags" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> + <el-form-item label="鏍囩鍚嶇О" prop="userName"> + <el-input + v-model="queryParams.tagName" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> </el-form-item> - <el-form-item label="閫傜敤鏂瑰紡" prop="shape"> - <el-select v-model="queryParams.value" placeholder="璇烽�夋嫨"> + <el-form-item label="閫傜敤鍦烘櫙" prop="shape"> + <el-select v-model="queryParams.suitWay" placeholder="璇烽�夋嫨"> <el-option v-for="item in mode" :key="item.value" @@ -112,11 +100,11 @@ </el-form-item> <el-form-item label="鎸囨爣绫诲瀷" prop="classify"> <el-select - v-model="queryParams.classifyvalue" + v-model="queryParams.scriptType" placeholder="璇烽�夋嫨" > <el-option - v-for="(item, index) in qyoptions" + v-for="(item, index) in askvaluetype" :key="item.value" :label="item.label" :value="item.value" @@ -124,13 +112,13 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鍙敤鐘舵��" prop="classify"> + <el-form-item label="鏄惁鍙敤" prop="classify"> <el-select - v-model="queryParams.classifyvalue" + v-model="queryParams.isAvailable" placeholder="璇烽�夋嫨" > <el-option - v-for="(item, index) in qyoptions" + v-for="(item, index) in usable" :key="item.value" :label="item.label" :value="item.value" @@ -164,7 +152,7 @@ icon="el-icon-plus" size="medium" @click="handleAdd" - v-hasPermi="['system:user:add']" + >鏂板</el-button > </el-col> @@ -177,7 +165,7 @@ size="medium" :disabled="multiple" @click="handleDelete" - v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button > </el-col> @@ -191,33 +179,47 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column + <!-- <el-table-column label="搴忓彿" + fixed align="center" - key="targetID" - prop="targetID" - /> - <el-table-column - label="鍊肩被鍨�" - align="center" - key="isenable" - prop="isenable" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <dict-tag :options="valuetype" :value="scope.row.isenable" /> - </template> - </el-table-column> + key="id" + prop="id" + /> --> <el-table-column label="鎸囨爣鍚嶇О" + fixed align="center" key="targetname" prop="targetname" :show-overflow-tooltip="true" > </el-table-column> - <el-table-column + label="鎸囨爣鎻忚堪" + align="center" + key="targetdesc" + prop="targetdesc" + :show-overflow-tooltip="true" + width="200" + /> + <el-table-column + label="鎸囨爣绫诲瀷" + align="center" + key="valueType" + prop="valueType" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <dict-tag + :options="valuetypelb" + :value="scope.row.valueType" + /> + </template> + </el-table-column> + + + <!-- <el-table-column label="姝e父鍊艰寖鍥�" align="center" key="warndown" @@ -227,22 +229,16 @@ <template slot-scope="scope"> <span>{{ scope.row.warnup }}~{{ scope.row.warndown }}</span> </template> - </el-table-column> - <el-table-column - label="鎸囨爣鎻忚堪" + </el-table-column> --> + <el-table-column + label="閫傜敤鍦烘櫙" align="center" - key="targetdesc" - prop="targetdesc" - width="200" - /><el-table-column - label="閫傜敤鏂瑰紡" - align="center" - key="suitWay" - prop="suitWay" + key="suitWayList" + prop="suitWayList" width="120" > <template slot-scope="scope"> - <dict-tag :options="mode" :value="scope.row.suitWay" /> + <dict-tag :options="mode" :value="scope.row.suitWayList" /> </template> </el-table-column> <el-table-column @@ -257,7 +253,7 @@ 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 @@ -278,15 +274,13 @@ prop="isAvailable" > <template slot-scope="scope"> - <dict-tag - :options="qyoptions" - :value="scope.row.isAvailable" - /> + <dict-tag :options="usable" :value="scope.row.isAvailable" /> </template> </el-table-column> <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="200" class-name="small-padding fixed-width" @@ -296,12 +290,12 @@ size="medium" type="text" @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" + ><span class="button-textxg" ><i class="el-icon-edit"></i>淇敼</span ></el-button > - <el-button + <!-- <el-button size="medium" type="text" @click="handlemeasurement(scope.row)" @@ -309,12 +303,12 @@ ><span class="button-textcs" ><i class="el-icon-help"></i>娴嬭瘯</span ></el-button - > + > --> <el-button size="medium" type="text" @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" + ><span class="button-textsc" ><i class="el-icon-delete"></i>鍒犻櫎</span ></el-button @@ -337,6 +331,7 @@ <el-dialog :title="title" :visible.sync="indexopen" + :close-on-click-modal="false" width="900px" append-to-body > @@ -346,29 +341,72 @@ :rules="rules" label-width="100px" > + <div class="headline"> + <div class="basics">鍩虹淇℃伅</div> + </div> + <el-divider></el-divider> <el-row v-if="!measurement"> <el-col :span="12"> - <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> + <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> <el-input v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囩绫�" + placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" maxlength="40" /> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鐗堟湰鍙�" prop="deptId"> - <el-input - v-model="indexform.version" - placeholder="璇疯緭鍏ユ寚鏍囩绫�" - maxlength="40" - /> + <el-form-item label="鎸囨爣鍒嗙被" prop="assortid"> + <el-select + style="width: 300px;" + v-model="indexform.assortid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in deptOptions" + :key="group.id" + :label="group.indexAssortName" + > + <el-option + v-for="item in group.ivrLibaTargetAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> + </el-select> </el-form-item> + </el-col> </el-row> <el-row v-if="!measurement"> - <el-col :span="12"> - <el-form-item label="璇█" prop="deptId"> + <el-col :span="24"> + <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc"> + <el-input + v-model="indexform.targetdesc" + placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" + id="targetdesc" + @focus="currentInputId = 'targetdesc'" + maxlength="40" + /> + </el-form-item> </el-col + ></el-row> + <!-- deptOptions --> + <el-row v-if="!measurement"> + <el-col :span="8"> + <el-form-item label="鐗堟湰鍙�" prop="deptId"> + <el-input + v-model="indexform.version" + placeholder="榛樿1.0" + maxlength="40" + /> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="璇█" prop="language"> <el-select v-model="indexform.language" placeholder="璇烽�夋嫨璇█" @@ -382,33 +420,25 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="8"> <el-form-item label="鏄惁鍙敤" prop="isAvailable"> - <el-select - v-model="indexform.isAvailable" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="index in qyoptions" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> + <el-radio-group v-model="indexform.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-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - maxlength="40" - /> - </el-form-item> </el-col - ></el-row> - <el-form-item label="鏍囩" prop="desc" v-if="!measurement"> + + <!-- <el-form-item label="鎻掑叆濉┖" prop="scriptContent"> + <div style="display: flex; margin-bottom: 10px"> + <div class="tsgname" @click="tsgnameto">鎻掑叆濉┖</div> + </div> + </el-form-item> --> + <el-form-item label="鏍囩" prop="dynamicTags" v-if="!measurement"> <div class="xinz-inf"> <el-tag :key="tag.tagname" @@ -448,8 +478,20 @@ </el-form-item> <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="鍊肩被鍨�"> - <el-radio-group v-model="indexform.isenable"> + <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="indexform.valueType"> <el-radio :label="1">閫夐」</el-radio> <el-radio :label="2">鏂囨湰</el-radio> <el-radio :label="3">鏁板��</el-radio> @@ -457,123 +499,94 @@ </el-form-item> </el-col></el-row > - <!-- <el-row v-if="!measurement"> + <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="閫傜敤鐤剧梾" prop="userName"> - <el-select - v-model="indexform.suitDisease" - placeholder="璇烽�夋嫨" + <el-form-item label="閫傜敤棰樺瀷" prop="scriptType"> + <el-radio-group + @input="Changtype" + v-model="indexform.scriptType" > - <el-option - v-for="index in qyoptions" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> </el-col - ></el-row> --> + <el-radio :label="1">鍗曢��</el-radio> + <el-radio :label="2">澶氶��</el-radio> + <!-- <el-radio :label="3">濉┖</el-radio> --> + <el-radio :label="4">闂瓟</el-radio> + </el-radio-group> + </el-form-item> + </el-col></el-row + > <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="閫傜敤鏂瑰紡" prop="email"> - <el-select v-model="indexform.suitWay" placeholder="璇烽�夋嫨"> - <el-option - v-for="index in mode" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> + <el-form-item label="閫傜敤鍦烘櫙" prop="suitWayList"> + <el-checkbox-group v-model="indexform.suitWayList"> + <el-checkbox v-for="item in mode" :label="item.value">{{ + item.label + }}</el-checkbox> + </el-checkbox-group> </el-form-item> </el-col> </el-row> - <el-card class="box-card" style="margin-bottom: 20px"> - <el-table v-loading="loading" :data="testuserList"> - <el-table-column - label="搴忓彿" - align="center" - key="guid" - prop="guid" - width="50" - /> - <el-table-column - label="鎸囨爣閫夐」" - align="center" - key="targetvalue" - prop="targetvalue" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.targetvalue" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column - label="瑙f瀽瑙勫垯" - align="center" - key="targetregex" - prop="targetregex" - width="460" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.targetregex" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - @click="addoption(scope.row)" - type="success" - icon="el-icon-circle-plus-outline" - circle - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="deloption(scope.row)" - ></el-button> - <el-button - @click="syioption(scope.row)" - type="primary" - icon="el-icon-top" - circle - ></el-button> - <el-button - @click="xiayioption(scope.row)" - type="primary" - icon="el-icon-bottom" - circle - ></el-button> - </template> - </el-table-column> - </el-table> + <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + </div> + <el-divider></el-divider> + </div> + <el-card + class="box-card" + style="margin-bottom: 20px" + v-if="indexform.scriptType == 1 || indexform.scriptType == 2" + > + <Regular + :TargetoptionList="testuserList" + :intent="false" + :hasValue="hasValue" + @addoption="addoption" + @deloption="deloption" + @syioption="syioption" + @xiayioption="xiayioption" + /> </el-card> + <!-- <div v-if="indexform.scriptType == 3"> + <el-form-item label="鏀堕泦淇℃伅"> + <el-card class="box-card"> + <div v-for="item in testuserList" style="margin-bottom: 10px"> + <el-input + type="text" + placeholder="濉叆鏀堕泦淇℃伅" + v-model="indexform.optiondesc" + > + <el-button + slot="append" + @click="deloption(item)" + type="danger" + icon="el-icon-delete" + circle + ></el-button> + <span slot="prepend">{{ "(" + item.orderno + ")" }}</span> + </el-input> + </div> + </el-card> + </el-form-item> + </div> --> + <div class="headline"> + <div class="basics">鎸囨爣娴嬭瘯</div> + </div> + <el-divider></el-divider> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="娴嬭瘯杈撳叆" prop="nickName"> <el-input - v-model="testvalue" + v-model="indexform.content" placeholder="璇疯緭鍏ユ祴璇曞唴瀹�" maxlength="40" /> </el-form-item> </el-col> <el-col :span="4"> - <el-button type="success">寮�濮嬫祴璇�</el-button> + <el-button type="success" @click="testtagerlist" + >寮�濮嬫祴璇�</el-button + > </el-col> </el-row> </el-form> @@ -642,66 +655,48 @@ </span> </el-dialog> <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog - :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'" - width="30%" - :visible.sync="dialogFormVisible" - > + <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible"> + <div style="text-align: center; margin-bottom: 20px"> + <el-radio-group v-model="radio"> + <el-radio-button label="涓诲垎绫�"></el-radio-button> + <el-radio-button label="瀛愬垎绫�"></el-radio-button> + </el-radio-group> + </div> + <el-divider></el-divider> + <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨鎸囨爣澶х被"> - <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨"> + <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> + <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> <el-option - v-for="item in editableTabs" - :key="item.value" - :label="item.label" - :value="item.value" + 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="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'" - > + <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"> - 姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛� - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="deleteVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button> - </span> </el-dialog> </div> </template> <script> import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; -import { gettargetInfo, particulartarget, gettargetInfoedit, + testtagerlist, addtarget, deletetarget, getillnesslist, @@ -709,9 +704,14 @@ getillness, deltargetillness, addtargetillness, + selectIvrLibaTargetAssortList, + addtreeselectIvrLibaTargetAssort, + edittreeselectIvrLibaTargetAssort, + delselectIvrLibaTargetAssort, } from "@/api/AiCentre/index"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; +import Regular from "@/components/Regular"; //姝e垯缁勪欢 import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import { listtag } from "@/api/system/label"; import store from "@/store"; @@ -719,7 +719,7 @@ export default { name: "questionnaire", dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, + components: { Treeselect, Regular }, data() { return { topactiveName: "Local", //椤堕儴閫夋嫨 @@ -735,6 +735,7 @@ showSearch: true, measurement: false, languagelist: [], + usable: [], indexid: null, // 鎬绘潯鏁� total: 0, @@ -743,8 +744,11 @@ dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 deleteVisible: false, //鍒嗙被鍒犻櫎寮规 deletefenl: "楂樿鍘�", //鍒犻櫎椤� + radio: "涓诲垎绫�", testvalue: "", testgovalue: "", + creatype: "", //鎸囨爣涓存椂绫诲瀷 + hasValue: true, classifyform: { categoryname: "", }, //绫诲埆琛ㄥ崟 @@ -765,6 +769,11 @@ indexform: {}, numberlb: 22, numberlbs: 2, + deptOptions: [], + defaultProps: { + children: "ivrLibaTargetAssortList", + label: "indexAssortName", + }, sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞绫诲埆寮规 sidecolumnval: "", //绫诲埆鎼滅储 @@ -777,58 +786,65 @@ illnesslist: [], illnesslistapi: [], optionsillness: [], - qyoptions: [], mode: [], optionstag: [], targetoptionList: [], - //绫诲埆鍒楄〃 - editableTabs: [ - { - title: "鎸囨爣鍒嗙被涓�", - number: "1", - }, - { - title: "鎸囨爣鍒嗙被浜�", - number: "2", - }, - { - title: "鎸囨爣鍒嗙被涓�", - number: "2", - }, - { - title: "鎸囨爣鍒嗙被鍥�", - number: "2", - }, - { - title: "鎸囨爣鍒嗙被浜�", - number: "2", - }, - ], + Temporarytype: "", + // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, }, + askvaluetype: [], // 琛ㄥ崟鏍¢獙 - rules: {}, + rules: { + targetname: [ + { required: true, message: "鎸囨爣鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + ], + assortid: [ + { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" }, + ], + language: [ + { required: true, message: "璇█涓嶈兘涓虹┖", trigger: "blur" }, + ], + isAvailable: [ + { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" }, + ], + targetdesc: [ + { required: true, message: "鎸囨爣鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }, + ], + valueType: [ + { required: true, message: "缁撴灉绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }, + ], + scriptType: [ + { required: true, message: "閫傜敤棰樺瀷涓嶈兘涓虹┖", trigger: "blur" }, + ], + suitWayList: [ + { required: true, message: "閫傜敤鍦烘櫙涓嶈兘涓虹┖", trigger: "blur" }, + ], + }, }; }, - watch: {}, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + sidecolumnval(val) { + console.log(val); + this.$refs.tree.filter(val); + }, + }, created() { + // 鍒濆鍖栨暟鎹� this.getList(); this.gettabList(); + this.getDeptTree(); this.mode = store.getters.mode; - this.valuetype = store.getters.valuetype; + this.askvaluetype = store.getters.askvaluetype; + this.valuetypelb = store.getters.valuetypelb; this.languagelist = store.getters.languagelist; - this.qyoptions = store.getters.usable; + this.usable = store.getters.usable; }, - methods: { /** 鏌ヨ鎸囨爣鍒楄〃 */ getList() { @@ -840,35 +856,19 @@ this.loading = false; }); }, + processElement(element) { + // 杩斿洖涓�涓柊鐨勫璞★紝灏唀lement瀵硅薄鐨勫睘鎬soperation璁剧疆涓�1 return { ...element, isoperation: 1 }; }, + // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 getIndexInArray(arr, obj) { + // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 return arr.indexOf(obj); }, - // 娣诲姞銆佷慨鏀圭被鍒� - 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; + changeselect(row) { + console.log(row); + this.hasValue = row.includes("2"); }, //鍒犻櫎鍒嗙被 deletefenlei(row) { @@ -885,21 +885,69 @@ this.deletefenl = row.title; } }, + // 渚挎嵎鏍囩鎻掑叆濉┖ + tsgnameto(row) { + let inputValueArr = ""; + let value = this.testuserList.length + 1; - // 渚ц竟-------------- - handleOpen(key, keyPath) { - console.log(key, keyPath); + let el = document.querySelector("#" + this.currentInputId); + //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛� + if (this.currentInputId == "targetdesc") { + inputValueArr = this.indexform.targetdesc.split(""); + } else { + return; + } + //灏嗚緭鍏ユ鍐呭鍒囨垚鏁扮粍锛屾柟渚垮悗缁搷浣� + // inputValueArr = this.inputValue.split(""); + // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級 + let selectLength = el.selectionEnd - el.selectionStart; + // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛� + inputValueArr.splice( + el.selectionStart, + selectLength, + "__" + value + "__" + ); + this.testuserList.push({ + orderno: value, + optiondesc: "", + isoperation: 1, + }); + // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪�� + inputValueArr = inputValueArr.join(""); + + console.log(inputValueArr); + if (this.currentInputId == "targetdesc") { + this.indexform.targetdesc = inputValueArr; + } else { + return; + } }, - handleClose(key, keyPath) { - console.log(key, keyPath); - }, - handleSelect(key, keyPath) { - console.log(key, keyPath); + Changtype(item) { + console.log(this.testuserList); + console.log(item, "閫夐」鍙樻洿鐨勫鐞�"); + + if (item == 3 && this.testuserList[0].targetvalue) { + this.$modal + .confirm("鏇存敼绫诲瀷涓哄~绌哄悗閫夐」灏嗘竻绌烘槸鍚︾户缁紵") + .then(() => { + this.testuserList = []; + this.Temporarytype = this.indexform.scriptType; + }) + .catch(() => { + this.indexform.scriptType = this.Temporarytype; + }); + } else if (item == 3) { + this.testuserList = []; + this.Temporarytype = this.indexform.scriptType; + } + { + this.Temporarytype = this.indexform.scriptType; + } }, // 鐤剧梾----------------------- illnessUpdate(row) { this.illnessVisible = true; - this.indexid = row.targetID; + this.indexid = row.id; this.illnesslistapi = []; const illnessqueryParams = { pageNum: 1, @@ -909,7 +957,7 @@ console.log(response); this.optionsillness = response.rows; }); - getillness({ outid: row.targetID, type: 1 }).then((res) => { + getillness({ outid: row.id, type: 1 }).then((res) => { this.illnesslist = res.rows; console.log(res); }); @@ -921,7 +969,6 @@ } }, remoteMethod(value) { - console.log(value); const illnessqueryParams = { pageNum: 1, pageSize: 100, @@ -963,7 +1010,7 @@ deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); } this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鐤剧梾鎴愬姛"); + this.$modal.msgSuccess("缂栬緫鎴愬姛"); }, // 鏍囩----------------- @@ -983,7 +1030,7 @@ console.log(this.dynamicTags.indexOf(tag)); const lindex = this.dynamicTags.indexOf(tag); this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.indexform.baseTagList[lindex].isoperation = 3; + this.indexform.ivrLibaTargetTagList[lindex].delFlag = 3; }, handleInputConfirm() { let tagvalue = {}; @@ -1004,9 +1051,10 @@ isoperation: 1, }; } - this.indexform.baseTagList.push(tagvalue); + console.log(tagvalue); + this.indexform.ivrLibaTargetTagList.push(tagvalue); this.dynamicTags.push(tagvalue); - console.log(this.indexform.baseTagList); + console.log(this.indexform.ivrLibaTargetTagList); console.log(this.dynamicTags); }); } @@ -1020,10 +1068,18 @@ addoption() { const objvakue = { guid: 1, - targetid: this.indexform.targetid, + id: this.indexform.id, targettype: this.indexform.targettype, - targetvalue: "璐", - targetregex: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10", + isoperation: 1, + isabnormal: 0, + targetvalue: "", + targetregex: "", + targetregex2: "", + picturePath: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", }; this.testuserList.push(objvakue); // this.indexform.targetoptionList.push(objvakue); @@ -1035,12 +1091,20 @@ if (index !== -1) { this.testuserList[index].isoperation = 3; this.targetoptionList.push(this.testuserList[index]); + console.log(this.targetoptionList, "aaaa.targetoptionList"); this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� this.sortFn(); + + if (this.indexform.scriptType == 3) { + this.$modal.msgWarning( + "濉┖椤瑰凡鍒犻櫎璇锋墜鍔ㄥ垹闄ら鐩唴瀹逛腑瀵瑰簲鐨勫~绌洪」" + ); + } } else { console.log("鏈壘鍒拌瀵硅薄"); } }, + syioption(row) { const index = this.getIndexInArray(this.testuserList, row); const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� @@ -1058,24 +1122,123 @@ return { guid: index + 1, targetvalue: item.targetvalue, + targetregex2: item.targetregex2, targetregex: item.targetregex, - targetoptionid: item.targetoptionid, - targetid: this.indexform.targetid, + id: this.indexform.id, targettype: this.indexform.targettype, isoperation: item.targetoptionid ? 2 : 1, categoryName: item.categoryName, language: item.language, + dynamiccruxs: item.dynamiccruxs, + nodynamiccruxs: item.nodynamiccruxs, + dynamiccruxsJson: item.dynamiccruxsJson, + nodynamiccruxsJson: item.nodynamiccruxsJson, + targetoptionid: item.targetoptionid, + isabnormal: item.isabnormal, + picturePath: item.picturePath, + optiondesc: item.optiondesc, }; }); console.log(this.testuserList); }, // --------------------- - //鎼滅储绫诲埆 - sidecolumnss() {}, - // 鍒囨崲鍏变韩/鏈湴 - tophandleClick() {}, + + /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ + getDeptTree() { + selectIvrLibaTargetAssortList({}).then((res) => { + this.deptOptions = res.rows; + this.dialogFormVisible = false; + }); + }, + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + return data.indexAssortName.indexOf(value) !== -1; + }, + // 娣诲姞绫诲埆鏍� + submitsidecolumn() { + if (this.classifyform.id) { + edittreeselectIvrLibaTargetAssort(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]; + console.log(calssvalue); + calssvalue.ivrLibaTargetAssortList.push(this.classifyform); + } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { + this.classifyform.pid = null; + this.classifyform.ivrLibaTargetAssortList = []; + } else { + return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); + } + + addtreeselectIvrLibaTargetAssort(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 delselectIvrLibaTargetAssort(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } else { + this.$modal + .confirm( + '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + + b.indexAssortName + + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' + ) + .then(() => { + return delselectIvrLibaTargetAssort(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } + }, + altertag(a, b) { + this.dialogFormVisible = true; + if (!b.pid) { + this.radio = "涓诲垎绫�"; + } else { + this.radio = "瀛愬垎绫�"; + } + this.classifyform = b; + this.dialogFormVisible = true; + }, + handleNodeClick(data) { + this.queryParams.assortid = data.id; + this.getList(); + }, + // 鍙栨秷鎸夐挳 cancel() { + this.indexform = null; this.indexopen = false; this.reset(); }, @@ -1083,13 +1246,13 @@ // 琛ㄥ崟閲嶇疆 reset() { this.indexform = { - suitWay: undefined, - targetID: undefined, + suitWayList: undefined, + id: undefined, targetdesc: undefined, - baseTagList: [], + ivrLibaTargetTagList: [], targetoptionList: [], }; - this.resetForm("indexform"); + // this.resetForm("indexform"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -1100,13 +1263,16 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.queryParams = { + pageNum: 1, + pageSize: 10, + }; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map((item) => item.targetID); + this.ids = selection.map((item) => item.id); this.single = selection.length != 1; this.multiple = !selection.length; }, @@ -1115,17 +1281,24 @@ this.reset(); this.title = "鏂板鎸囨爣"; this.indexform = { - baseTagList: [], + ivrLibaTargetTagList: [], targetoptionList: [], + suitWayList: [], }; this.dynamicTags = []; this.testuserList = [ { - guid: 1, - isoperation: 1, targettype: "1", targetvalue: "", targetregex: "", + targetregex2: "", + isoperation: 1, + isabnormal:0, + picturePath: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", }, ]; this.indexopen = true; @@ -1134,11 +1307,31 @@ /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); - console.log(row); this.title = "鎸囨爣璇︽儏"; + this.indexform = {}; this.indexform = row; - this.dynamicTags = row.baseTagList.map(this.processElement); + this.indexform.scriptType = Number(row.scriptType); + this.Temporarytype = this.indexform.scriptType; + if (!row.targetoptionList[0]) { + row.targetoptionList = [ + { + targettype: "1", + targetvalue: "", + targetregex: "", + targetregex2: "", + isoperation: 1, + orderno: 1, + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }, + ]; + } + this.dynamicTags = row.ivrLibaTargetTagList.map(this.processElement); this.testuserList = row.targetoptionList; + console.log(this.testuserList, "bbbb"); + this.testvalue = ""; this.indexopen = true; this.measurement = false; }, @@ -1157,13 +1350,32 @@ /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ submitForm: function () { - // this.indexform.targetoptionList=[] + // this.indexform.targetoptionList = this.indexform.targetoptionList.map( + // (res) => { + // res.isoperation = 2; + // return res; + // } + // ); + this.$refs["indexform"].validate((valid) => { this.indexform.targetoptionList = this.testuserList.concat( this.targetoptionList ); + console.log(this.indexform.targetoptionList, "11"); + this.indexform.targetoptionList.forEach((item) => { + if (item.isoperation != 3 && item.targetoptionid) { + console.log(item, "item"); + item.isoperation = 2; + } else { + } + }); if (valid) { - if (this.indexform.targetID != undefined) { + this.indexform.optionDesc = this.testuserList + .filter((item) => item.isoperation != 3) + .map((item) => item.targetvalue) + .join(", "); + if (!this.indexform.version) this.indexform.version = "1.0"; + if (this.indexform.id != undefined) { this.indexform.isoperation = 2; gettargetInfoedit(this.indexform).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); @@ -1182,9 +1394,24 @@ } }); }, + // 娴嬭瘯琛ㄥ崟 + testtagerlist() { + if (this.indexform.content) { + let data = this.indexform; + data.targetoptionList = this.testuserList.concat(this.targetoptionList); + testtagerlist(data).then((res) => { + this.$modal.msgSuccess("娴嬭瘯鎴愬姛"); + this.testgovalue = res.msg; + this.getList(); + }); + } else { + this.$modal.msgError("璇峰~鍐欐祴璇曞唴瀹�"); + return; + } + }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const userIds = row.targetID || this.ids; + const userIds = row.id || this.ids; this.$modal .confirm('鏄惁纭鍒犻櫎鎸囨爣鍚嶇О涓�"' + row.targetname + '"鐨勬暟鎹」锛�') .then(function () { @@ -1259,7 +1486,7 @@ margin-top: 20px; margin: 20px; padding: 30px; - background: #edf1f7; + 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); @@ -1286,6 +1513,29 @@ margin-top: 30px; display: center !important; } +} +.tsgname { + width: 90px; + margin-right: 10px; + text-align: center; + cursor: pointer; + height: 40px; + line-height: 40px; + background: #66c18c; + color: #ffff; + font-size: 18px; + border-radius: 5px; +} +.tsgname:hover { + background: #20894d; +} +.headline { + display: flex; + justify-content: space-between; + font-size: 20px; + border-left: 4px solid #41a1be; + padding-left: 5px; + margin: 15px 0; } .qrcode-dialo { text-align: center; @@ -1340,6 +1590,40 @@ font-size: 20px; } } +::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