|
|
@@ -93,21 +93,36 @@
|
|
|
font-size: 14px;
|
|
|
padding-bottom: 10px;
|
|
|
}
|
|
|
-/*批注信息*/
|
|
|
-.tool_text{
|
|
|
- width:315px;
|
|
|
-}
|
|
|
-.tool_text p{
|
|
|
- margin-bottom:10px;
|
|
|
-}
|
|
|
-.toolText_img img{
|
|
|
- width:100px;
|
|
|
- height: 100px;
|
|
|
- margin-bottom:5px
|
|
|
-}
|
|
|
-.toolText_img img:nth-child(odd){
|
|
|
- margin-right: 5px;
|
|
|
-}
|
|
|
+
|
|
|
+ /*批注信息*/
|
|
|
+ .tool_text {
|
|
|
+ width: 315px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tool_text p {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .toolText_img img {
|
|
|
+ width: 100px;
|
|
|
+ height: 100px;
|
|
|
+ margin-bottom: 5px
|
|
|
+ }
|
|
|
+
|
|
|
+ .toolText_img img:nth-child(odd) {
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .group_title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ padding: 10px 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .groupMain {
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ border-radius: 5px;
|
|
|
+ }
|
|
|
</style>
|
|
|
|
|
|
<body>
|
|
|
@@ -117,43 +132,93 @@
|
|
|
<h5 align="center" class="tpl_title">{{ title }}</h5>
|
|
|
<div class="message_desc">{{messageData.desc}}</div>
|
|
|
<el-form ref="form2" :model="form2" class="tpl_form over_y" :rules="rules1.rules" v-if="this.form2.status==1">
|
|
|
- <el-form-item v-for="(item, index) in widgetList" :key="index" :label="(index+1)+'、'+(item.label)+item.cntype"
|
|
|
- :prop="item.label">
|
|
|
- <el-tooltip class="item" effect="dark" content="Left Bottom 提示文字" placement="bottom-end">
|
|
|
- <i v-if="item.noteDesc||item.noteImgs"
|
|
|
- class="el-icon-info"
|
|
|
- style="position: absolute; top: -28px; right: 0px"
|
|
|
- ></i>
|
|
|
- <div slot="content" class='tool_text'>
|
|
|
- <p>{{item.noteDesc}}</p>
|
|
|
- <div class='toolText_img'>
|
|
|
- <img :src="item" alt="" v-for="(item,index) in item.noteImgs" :key="index" />
|
|
|
+ <template v-for="(item, index) in widgetList">
|
|
|
+ <el-form-item :key="index" :label="(index+1)+'、'+(item.label)+item.cntype" :prop="item.label"
|
|
|
+ v-if="item.type != 'group'">
|
|
|
+ <el-tooltip class="item" effect="dark" content="Left Bottom 提示文字" placement="bottom-end">
|
|
|
+ <i v-if="item.noteDesc||item.noteImgs" class="el-icon-info"
|
|
|
+ style="position: absolute; top: -28px; right: 0px"></i>
|
|
|
+ <div slot="content" class='tool_text'>
|
|
|
+ <p>{{item.noteDesc}}</p>
|
|
|
+ <div class='toolText_img'>
|
|
|
+ <img :src="item" alt="" v-for="(item,index) in item.noteImgs" :key="index" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </el-tooltip>
|
|
|
- <el-input v-if="item.type == 'input'" v-model="form2[item.label]" :placeholder="item.placeholder"></el-input>
|
|
|
- <el-input v-if="item.type == 'textarea'" type="textarea" v-model="form2[item.label]"
|
|
|
- :placeholder="item.placeholder" :rows=4></el-input>
|
|
|
- <el-radio-group v-if="item.type == 'radio'" v-model="form2[item.label]" class="cus_select">
|
|
|
- <el-radio :label="iitem.label" v-for="(iitem, index) in item.items" :key="index">{{ iitem.label }}
|
|
|
- </el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-input v-if="item.type == 'input'" v-model="form2[item.label]" :placeholder="item.placeholder">
|
|
|
+ </el-input>
|
|
|
+ <el-input v-if="item.type == 'textarea'" type="textarea" v-model="form2[item.label]"
|
|
|
+ :placeholder="item.placeholder" :rows=4></el-input>
|
|
|
+ <el-radio-group v-if="item.type == 'radio'" v-model="form2[item.label]" class="cus_select">
|
|
|
+ <el-radio :label="iitem.label" v-for="(iitem, index) in item.items" :key="index">{{ iitem.label }}
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
|
|
|
- <el-checkbox-group v-else-if="item.type == 'checkbox'" v-model="form2[item.label]" class="cus_select">
|
|
|
- <el-checkbox :label="iitem.label" v-for="(iitem, index) in item.items" :key="index"></el-checkbox>
|
|
|
- </el-checkbox-group>
|
|
|
- <el-upload v-if="item.type == 'image'" action="/api/admin/uploadfile" list-type="picture-card"
|
|
|
- :data="{ type: item.label }" :on-success="handleSuccess">
|
|
|
- <i class="el-icon-plus"></i>
|
|
|
+ <el-checkbox-group v-else-if="item.type == 'checkbox'" v-model="form2[item.label]" class="cus_select">
|
|
|
+ <el-checkbox :label="iitem.label" v-for="(iitem, index) in item.items" :key="index"></el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ <el-upload v-if="item.type == 'image'" action="/api/admin/uploadfile" list-type="picture-card"
|
|
|
+ :data="{ type: item.label }" :on-success="handleSuccess">
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
|
|
|
- </el-upload>
|
|
|
- <el-upload v-if="item.type == 'file'" class="upload-demo" ref="upload" action="/api/admin/uploadfile"
|
|
|
- :data="{ type: item.label }" :on-success="handleSuccess">
|
|
|
- <!-- <el-button slot="trigger" size="small" type="primary">选取文件</el-button> -->
|
|
|
- <el-button style="margin-left: 10px" size="small" type="primary" plain>添加文件</el-button>
|
|
|
- <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
+ </el-upload>
|
|
|
+ <el-upload v-if="item.type == 'file'" class="upload-demo" ref="upload" action="/api/admin/uploadfile"
|
|
|
+ :data="{ type: item.label }" :on-success="handleSuccess">
|
|
|
+ <!-- <el-button slot="trigger" size="small" type="primary">选取文件</el-button> -->
|
|
|
+ <el-button style="margin-left: 10px" size="small" type="primary" plain>添加文件</el-button>
|
|
|
+ <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 域组件展示 -->
|
|
|
+ <h6 v-if="item.type == 'group'" align="center" class="group_title" :key="'revire_g' + index">
|
|
|
+ {{ item.label }}
|
|
|
+ </h6>
|
|
|
+ <section class="groupMain" v-if="item.type == 'group'" :key="'review_gi' + index">
|
|
|
+ <template v-for="(iitem, index) in item.children">
|
|
|
+ <el-form-item :prop="iitem.label + '(' + item.label + ')'" :key="'review_gc' + index"
|
|
|
+ :label="iitem.label + iitem.cntype">
|
|
|
+ <el-tooltip class="item" effect="dark" content="Left Bottom 提示文字" placement="bottom-end">
|
|
|
+ <i v-if="iitem.noteDesc || iitem.noteImgs" class="el-icon-info"
|
|
|
+ style="position: absolute; top: -28px; right: 0px"></i>
|
|
|
+ <div slot="content" class="tool_text">
|
|
|
+ <p>{{ iitem.noteDesc }}</p>
|
|
|
+ <div class="toolText_img">
|
|
|
+ <img :src="iitem" alt="" v-for="(iitem, index) in iitem.noteImgs"
|
|
|
+ :key="'review_gc_noteimgs' + index" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-input :class="iitem.require ? 'require' : ''" v-if="iitem.type == 'input'"
|
|
|
+ v-model="form2[iitem.label + '(' + item.label + ')']" :placeholder="iitem.placeholder"></el-input>
|
|
|
+ <el-input :class="iitem.require ? 'require' : ''" v-if="iitem.type == 'textarea'" type="textarea"
|
|
|
+ v-model="form2[iitem.label + '(' + item.label + ')']" :placeholder="iitem.placeholder"></el-input>
|
|
|
+ <el-radio-group class="cus_select" v-if="iitem.type == 'radio'"
|
|
|
+ v-model="form2[iitem.label + '(' + item.label + ')']" :class="iitem.require ? 'require' : ''">
|
|
|
+ <el-radio :label="iiitem.label" v-for="(iiitem, index) in iitem.items" :key="'review_gcr' + index">{{
|
|
|
+ iiitem.label }}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-radio-group class="cus_select" v-if="iitem.type == 'checkbox'"
|
|
|
+ v-model="form2[iitem.label + '(' + item.label + ')']" :class="iitem.require ? 'require' : ''">
|
|
|
+ <el-checkbox :label="iiitem.label" v-for="(iiitem, index) in iitem.items" :key="'review_gcc' + index">
|
|
|
+ {{ iiitem.label }}</el-checkbox>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-upload :class="iitem.require ? 'require' : ''" v-if="iitem.type == 'image'"
|
|
|
+ v-model="form2[iitem.label + '(' + item.label + ')']" action="/api/admin/uploadfile"
|
|
|
+ list-type="picture-card" :on-preview="handlePreview" :on-remove="handleRemove">
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ </el-upload>
|
|
|
+ <el-upload v-if="iitem.type == 'file'" class="upload-demo" ref="upload" action="/api/admin/uploadfile"
|
|
|
+ :on-preview="handlePreview" :on-remove="handleRemove" :file-list="fileList" :auto-upload="false">
|
|
|
+ <!-- <el-button slot="trigger" size="small" type="primary">选取文件</el-button> -->
|
|
|
+ <el-button style="margin-left: 10px" size="small" type="primary" plain @click="submitUpload">添加文件
|
|
|
+ </el-button>
|
|
|
+ <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </section>
|
|
|
+ <!-- 域组件end -->
|
|
|
+ </template>
|
|
|
<el-form-item v-if="widgetList.length">
|
|
|
<el-button size="medium" type="primary" @click="saveResult"
|
|
|
style="width: 100%;height: 45px;font-size: 16px;margin-top:20px;" :disabled="form2.status==0">
|
|
|
@@ -233,6 +298,61 @@
|
|
|
{ required: true, message: item.placeholder, trigger: "change" },
|
|
|
];
|
|
|
}
|
|
|
+ if (i.type == "image" && i.require) {
|
|
|
+ rules1[i.label] = [
|
|
|
+ { required: true, message: i.placeholder, trigger: "change" },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ // 域组件rules
|
|
|
+ if (i.type == "group") {
|
|
|
+ i.children.forEach((item) => {
|
|
|
+ if (item.type == "input" && item.require) {
|
|
|
+ rules1[item.label + "(" + i.label + ")"] = [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: item.placeholder,
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ if (item.type == "textarea" && item.require) {
|
|
|
+ rules1[item.label + "(" + i.label + ")"] = [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: item.placeholder,
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ if (item.type == "radio" && item.require) {
|
|
|
+ rules1[item.label + "(" + i.label + ")"] = [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: item.placeholder,
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ if (item.type == "checkbox" && item.require) {
|
|
|
+ rules1[item.label + "(" + i.label + ")"] = [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: item.placeholder,
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ if (item.type == "image" && item.require) {
|
|
|
+ rules1[item.label + "(" + i.label + ")"] = [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: item.placeholder,
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
this.$set(this.rules1, "rules", rules1);
|
|
|
this.title = res.data.name
|