|
|
@@ -4,13 +4,17 @@
|
|
|
ref="publicForm" :inline="true" size="small" >
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8" v-for="f in ruleForm" :key="f.prop">
|
|
|
- <el-form-item :label="f.label" :prop="f.prop" label-width="120px"
|
|
|
- >
|
|
|
+ <el-form-item :label="f.label" :prop="f.prop" label-width="120px" >
|
|
|
<template>
|
|
|
<template v-if="f.type === 'input'">
|
|
|
- <el-input clearable v-model.trim="formData[f.prop]"
|
|
|
- :placeholder="'请输入' + f.label"
|
|
|
- ></el-input>
|
|
|
+ <el-input
|
|
|
+ v-model="formData[f.prop]"
|
|
|
+ :readonly="f.readonly"
|
|
|
+ :type="f.type ?? 'text'"
|
|
|
+ :placeholder="'请输入' + f.label"
|
|
|
+ :disabled="f.disabled"
|
|
|
+ :showPassword="f.showPassword"
|
|
|
+ :clearable="f.clearable||true"/>
|
|
|
</template>
|
|
|
<!-- <template v-else-if="f.type === 'company'">
|
|
|
<el-select size="small" clearable v-model="formData[f.prop]"
|
|
|
@@ -45,16 +49,92 @@
|
|
|
:value="s.value"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
- <template v-else-if="f.type === 'datePicker'">
|
|
|
- <!-- 日期区间 -->
|
|
|
- <el-date-picker v-if="f.dateType === 'daterange'" type="daterange" size="small"
|
|
|
- v-model="formData[f.prop]" align="right" unlink-panels range-separator="至"
|
|
|
- start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- :default-time="['00:00:00', '23:59:59']" :clearable="true"></el-date-picker>
|
|
|
- <!-- 一天 -->
|
|
|
- <el-date-picker v-if="f.dateType === 'date'" type="date" size="small"
|
|
|
- v-model="formData[f.prop]" placeholder="选择日期"
|
|
|
- value-format="yyyy-MM-dd"></el-date-picker>
|
|
|
+ <!-- 单选框 -->
|
|
|
+ <template v-else-if="f.type === 'radio'">
|
|
|
+ <el-radio-group
|
|
|
+ v-model="formData[f.prop]"
|
|
|
+ v-bind="f"
|
|
|
+ :disabled="f.disabled || false"
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ :placeholder="'请输入' + f.label"
|
|
|
+ v-for="(el, i) in f.options"
|
|
|
+ :key="i"
|
|
|
+ :label="el.value"
|
|
|
+ :disabled="el.disabled"
|
|
|
+ :border="el.border"
|
|
|
+ >
|
|
|
+ {{ el.label }}
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </template>
|
|
|
+ <!-- 日期选择器 -->
|
|
|
+ <template v-else-if="f.type === 'date'">
|
|
|
+ <el-date-picker
|
|
|
+ :placeholder="'请输入' + f.label"
|
|
|
+ v-model="formData[f.prop]"
|
|
|
+ :format="f.format || 'yyyy-MM-dd'"
|
|
|
+ :value-format="f.valueFormat || 'yyyy-MM-dd'"
|
|
|
+ v-bind="f"
|
|
|
+ ></el-date-picker>
|
|
|
+ </template>
|
|
|
+ <!-- 日期范围选择器 -->
|
|
|
+ <template v-else-if="item.type === 'daterange'">
|
|
|
+ <el-date-picker
|
|
|
+ type="daterange"
|
|
|
+ :placeholder="'请输入' + f.label"
|
|
|
+ v-model="formData[f.prop]"
|
|
|
+ v-bind="f"
|
|
|
+ :format="f.format || 'yyyy-MM-dd'"
|
|
|
+ :value-format="f.valueFormat || 'yyyy-MM-dd'"
|
|
|
+ :start-placeholder="f.startPlaceholder || '开始日期'"
|
|
|
+ :end-placeholder="f.endPlaceholder || '结束日期'"
|
|
|
+ :range-separator="f.rangeSeparator || '至'"
|
|
|
+ ></el-date-picker>
|
|
|
+ </template>
|
|
|
+ <!-- 计数 -->
|
|
|
+ <template
|
|
|
+ v-else-if="f.type === 'number'"
|
|
|
+ >
|
|
|
+ <el-input-number
|
|
|
+ v-model.trim="formData[f.prop]"
|
|
|
+ :controls="f.controls || false"
|
|
|
+ :step="f.step || 0.01"
|
|
|
+ :min="
|
|
|
+ f.min !== null && f.min !== undefined ? f.min : 0.0
|
|
|
+ "
|
|
|
+ :precision="
|
|
|
+ f.precision !== null && f.precision !== undefined
|
|
|
+ ? f.precision
|
|
|
+ : 2
|
|
|
+ "
|
|
|
+ :max="
|
|
|
+ f.max !== null && f.max !== undefined
|
|
|
+ ? f.max
|
|
|
+ : 100000000
|
|
|
+ "
|
|
|
+ :step-strictly="f.stepStrictly || true"
|
|
|
+ ></el-input-number>
|
|
|
+ </template>
|
|
|
+ <!-- 上传 -->
|
|
|
+ <template v-else-if="f.type === 'upload'">
|
|
|
+ <el-upload
|
|
|
+ ref="upload"
|
|
|
+ style="width: 200px"
|
|
|
+ :file-list="field101fileList"
|
|
|
+ :action="field101Action"
|
|
|
+ :multiple="f.multiple || false"
|
|
|
+ :before-upload="field101BeforeUpload"
|
|
|
+ :accept="f.accept || '*'"
|
|
|
+ :disabled="f.disabled || false"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="primary" icon="el-icon-upload"
|
|
|
+ >点击上传</el-button
|
|
|
+ >
|
|
|
+ <div slot="tip" class="el-upload__tip">
|
|
|
+ {{ f.upload__tip }}
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
</template>
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
@@ -93,8 +173,6 @@ export default {
|
|
|
},
|
|
|
methods:{
|
|
|
handleChange(val){
|
|
|
- console.log(val,this.$refs.myCascader[0],111111111)
|
|
|
-
|
|
|
if(val && val.length == 0) {
|
|
|
console.log(this.$refs.myCascader[0],111111111)
|
|
|
this.$refs.myCascader[0].$refs.panel.checkedValue = []; // 清空选中值
|