From d96a7562b2515584fac4dcb57fdbdcadc8f36fef Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期六, 03 八月 2024 17:48:23 +0800 Subject: [PATCH] 测试完成 --- src/components/Regular/index.vue | 427 +++++++++++++++++++++++++++------------------------- 1 files changed, 220 insertions(+), 207 deletions(-) diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue index bab62b1..55a1010 100644 --- a/src/components/Regular/index.vue +++ b/src/components/Regular/index.vue @@ -1,224 +1,226 @@ <template> <div> <div class="topicxq" v-for="item in TargetoptionList"> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="閫夐」鍚嶇О"> - <el-input - type="text" - placeholder="璇疯緭鍏ワ紙蹇呭~椤癸級" - v-model="item.targetvalue" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><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-col - > - <el-col :span="12" v-if="intent" - ><el-form-item label="閫夐」鑺傜偣"> - <el-input - type="text" - placeholder="璇疯緭鍏ヨ妭鐐�" - v-model="item.targetid" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10" v-if="!intent"> - <el-col :span="20" - ><el-form-item label="閫夐」璇存槑"> - <el-input - type="text" - placeholder="璇疯緭鍏�" - v-model="item.optiondesc" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10" v-if="intent"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="item.text" - maxlength="10" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><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-form-item label="鍏抽敭瀛�(鍚�)" prop="desc" v-if="hasValue"> - <div class="xinz-inf"> - <el-tag - :key="crux" - type="success" - v-for="crux in item.dynamiccruxs" - closable - effect="dark" - :disable-transitions="false" - @close="handleClosecrux(crux, item, 1)" + <el-form :model="ruleForm" :rules="rules"> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item prop="targetvalue" label="閫夐」鍚嶇О"> + <el-input + type="text" + placeholder="璇疯緭鍏ワ紙蹇呭~椤癸級" + v-model="item.targetvalue" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><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-col > - {{ crux }} - </el-tag> - <el-select - v-model="inputValue" - v-if="item.inputVisible" - @change="handleInputConfirm(item)" - filterable - remote - allow-create - reserve-keyword - default-first-option - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="items in regular" - :key="items.label" - :label="items.label" - :value="items.label" + <el-col :span="12" v-if="intent" + ><el-form-item label="閫夐」鑺傜偣"> + <el-input + type="text" + placeholder="璇疯緭鍏ヨ妭鐐�" + v-model="item.targetid" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10" v-if="!intent"> + <el-col :span="20" + ><el-form-item label="閫夐」璇存槑"> + <el-input + type="text" + placeholder="璇疯緭鍏�" + v-model="item.optiondesc" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10" v-if="intent"> + <el-col :span="12" + ><el-form-item label="澶勭悊"> + <el-input + type="text" + placeholder="(榛樿)鏃犲0" + v-model="item.text" + maxlength="10" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><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-form-item label="鍏抽敭瀛�(鍚�)" prop="desc" v-if="hasValue"> + <div class="xinz-inf"> + <el-tag + :key="crux" + type="success" + v-for="crux in item.dynamiccruxs" + closable + effect="dark" + :disable-transitions="false" + @close="handleClosecrux(crux, item, 1)" > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput(item)" - >+ 鏂板</el-button - > - </div> - </el-form-item> - <el-form-item label="鍏抽敭瀛�(闈�)" prop="desc" v-if="hasValue"> - <div class="xinz-inf"> - <el-tag - :key="crux" - type="warning" - v-for="crux in item.nodynamiccruxs" - closable - effect="dark" - :disable-transitions="false" - @close="handleClosecrux(crux, item, 2)" - > - {{ crux }} - </el-tag> - <el-select - v-model="inputValue" - v-if="item.noinputVisible" - @change="handleInputConfirm(item)" - filterable - remote - allow-create - reserve-keyword - default-first-option - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="items in noregular" - :key="items.value" - :label="items.label" - :value="items.label" + {{ crux }} + </el-tag> + <el-select + v-model="inputValue" + v-if="item.inputVisible" + @change="handleInputConfirm(item)" + filterable + remote + allow-create + reserve-keyword + default-first-option + :loading="loading" + placeholder="璇烽�夋嫨" > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInputno(item)" - >+ 鏂板</el-button - > - </div> - </el-form-item> - <el-form-item label="閫夐」鏂囦欢" prop="sickness" v-if="Verbalproblem"> - <div style="width: 40vw"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - accept=".jpg,.png,image/*" - :on-success="handleChange.bind(this, item)" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - <div style="margin: 20px"> - <el-image - style="width: 100px; height: 100px" - :src="item.picturePath" - :preview-src-list="[...item.picturePath]" + <el-option + v-for="items in regular" + :key="items.label" + :label="items.label" + :value="items.label" + > + </el-option> + </el-select> + <el-button + v-else + class="button-new-tag" + size="small" + @click="showInput(item)" + >+ 鏂板</el-button > - </el-image> </div> - </div> - </el-form-item> - - <el-row :gutter="10"> - <el-col :span="16" v-if="intent"> - <el-form-item label="璇煶鏂囦欢"> + </el-form-item> + <el-form-item label="鍏抽敭瀛�(闈�)" prop="adesc" v-if="hasValue"> + <div class="xinz-inf"> + <el-tag + :key="crux" + type="warning" + v-for="crux in item.nodynamiccruxs" + closable + effect="dark" + :disable-transitions="false" + @close="handleClosecrux(crux, item, 2)" + > + {{ crux }} + </el-tag> + <el-select + v-model="inputValue" + v-if="item.noinputVisible" + @change="handleInputConfirm(item)" + filterable + remote + allow-create + reserve-keyword + default-first-option + :loading="loading" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="items in noregular" + :key="items.value" + :label="items.label" + :value="items.label" + > + </el-option> + </el-select> + <el-button + v-else + class="button-new-tag" + size="small" + @click="showInputno(item)" + >+ 鏂板</el-button + > + </div> + </el-form-item> + <el-form-item label="閫夐」鏂囦欢" prop="sickness" v-if="Verbalproblem"> + <div style="width: 40vw"> <el-upload class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" + :action="uploadImgUrl" + :headers="headers" + accept=".jpg,.png,image/*" + :on-success="handleChange.bind(this, item)" > <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> </el-upload> - </el-form-item></el-col - > - <el-col :span="intent ? 8 : 22"> - <div style="text-align: right; padding-right: 10px"> - <el-button - v-if="controlsc" - @click="$emit('addoption', item)" - type="success" - icon="el-icon-circle-plus-outline" - circle - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="$emit('deloption', item)" - ></el-button> - <el-button - v-if="controlsc" - @click="$emit('syioption', item)" - type="primary" - icon="el-icon-top" - circle - ></el-button> - <el-button - v-if="controlsc" - @click="$emit('xiayioption', item)" - type="primary" - icon="el-icon-bottom" - circle - ></el-button> + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="item.picturePath" + :preview-src-list="[...item.picturePath]" + > + </el-image> + </div> </div> - </el-col> - </el-row> + </el-form-item> + + <el-row :gutter="10"> + <el-col :span="16" v-if="intent"> + <el-form-item label="璇煶鏂囦欢"> + <el-upload + class="upload-demo" + style="display: flex" + action="https://jsonplaceholder.typicode.com/posts/" + :file-list="fileList" + :limit="1" + :on-exceed="handleExceed" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + </el-upload> + </el-form-item></el-col + > + <el-col :span="intent ? 8 : 22"> + <div style="text-align: right; padding-right: 10px"> + <el-button + v-if="controlsc" + @click="$emit('addoption', item)" + type="success" + icon="el-icon-circle-plus-outline" + circle + ></el-button> + <el-button + type="danger" + icon="el-icon-delete" + circle + @click="$emit('deloption', item)" + ></el-button> + <el-button + v-if="controlsc" + @click="$emit('syioption', item)" + type="primary" + icon="el-icon-top" + circle + ></el-button> + <el-button + v-if="controlsc" + @click="$emit('xiayioption', item)" + type="primary" + icon="el-icon-bottom" + circle + ></el-button> + </div> + </el-col> + </el-row> + </el-form> </div> </div> </template> @@ -251,6 +253,17 @@ noregular: [], nodynamiccruxs: ["鍒�", "涓�"], dynamiccruxs: ["濂�"], + rules: { + targetvalue: [ + { required: true, message: "璇疯緭鍏ラ�夐」鍚嶇О", trigger: "blur" }, + { + min: 1, + max: 20, + message: "闀垮害鍦� 1 鍒� 20 涓瓧绗�", + trigger: "blur", + }, + ], + }, }; }, props: { -- Gitblit v1.9.3