| | |
| | | <template> |
| | | <div> |
| | | <el-collapse class="config-uploader" v-model="activeNames" v-if="oss && oss.groups.length>1"> |
| | | <div v-if="oss"> |
| | | <el-collapse class="config-uploader" v-model="activeNames" v-if="oss.groups.length>1"> |
| | | <el-collapse-item name="1" v-for="group in (oss.groups || [])" :key="group.busiFieldGroup"> |
| | | <template slot="title"> |
| | | <el-tag v-if="!image">{{group.busiFieldGroup}}</el-tag> |
| | | <el-tag>{{group.busiFieldGroup}}</el-tag> |
| | | </template> |
| | | <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields" |
| | | :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;"> |
| | |
| | | :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/> |
| | | </zt-form-item>--> |
| | | <el-table :data="group.fields" :show-header="false"> |
| | | <el-table-column width="250" style="text-align: left;white-space:nowrap;"> |
| | | <el-table-column width="180" style="text-align: left;white-space:nowrap;"> |
| | | <template slot-scope="scope"> |
| | | <span v-html="scope.row.busiFieldName"></span> |
| | | <span v-html="(scope.row.isRequired?'<font color=red>* </font>':'')+ scope.row.busiFieldName"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="left"> |
| | | <template slot-scope="scope"> |
| | | <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType" |
| | | :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/> |
| | | <zt-uploader v-model="dataForm[scope.row.busiField]" :dataForm="dataForm" multiple |
| | | :limit="scope.row.fileLimit" :file-type="scope.row.fileTypeArr" |
| | | :showFileList2="false" :accept="scope.row.accept" :file-size="scope.row.fileSize" |
| | | @input="change(scope.row.busiField)"/> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType" |
| | | :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/> |
| | | </zt-form-item>--> |
| | | <template slot="title"> |
| | | <el-tag>{{group.busiFieldGroup}}</el-tag> |
| | | </template> |
| | | <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields" |
| | | :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;"> |
| | | <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType" |
| | | :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/> |
| | | </zt-form-item>--> |
| | | <el-table :data="group.fields" :show-header="false"> |
| | | <el-table-column width="250" style="text-align: left;white-space:nowrap;"> |
| | | <el-table-column width="180" style="text-align: left;white-space:nowrap;"> |
| | | <template slot-scope="scope"> |
| | | <span v-html="scope.row.busiFieldName"></span> |
| | | <span v-html="(scope.row.isRequired?'<font color=red>* </font>':'')+ scope.row.busiFieldName"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="left"> |
| | | <template slot-scope="scope"> |
| | | <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType" |
| | | :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/> |
| | | <zt-uploader v-model="dataForm[scope.row.busiField]" :dataForm="dataForm" multiple |
| | | :limit="scope.row.fileLimit" :file-type="scope.row.fileTypeArr" |
| | | :showFileList2="false" :accept="scope.row.accept" :file-size="scope.row.fileSize" |
| | | @input="change(scope.row.busiField)"/> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | props: { |
| | | value: Object, |
| | | dataForm: Object, |
| | | image:false, |
| | | busiType: String // 业务类型 |
| | | }, |
| | | data() { |
| | |
| | | let arr = [] |
| | | if (this.dataForm.files && this.dataForm.files.groups) { |
| | | this.dataForm.files.groups.forEach(group => { |
| | | group.fields.forEach(field => arr.push(field)) |
| | | group.fields.forEach(field => { |
| | | let arrType = [] |
| | | if (field.fileTypes) { |
| | | arrType = field.fileTypes.split(',') |
| | | } |
| | | //this.$set(field, 'fileTypeArr', arrType) |
| | | field.fileTypeArr = arrType |
| | | arr.push(field) |
| | | }) |
| | | }) |
| | | } |
| | | return arr |
| | |
| | | getOss() { |
| | | let arr = (this.$store.state.oss.configs || []).filter(config => config.busiType === this.busiType) |
| | | if (arr.length > 0) { |
| | | arr[0].groups.forEach(group => { |
| | | group.fields.forEach(field => { |
| | | let arrType = [] |
| | | if (field.fileTypes) { |
| | | arrType = field.fileTypes.split(',') |
| | | } |
| | | //this.$set(field, 'fileTypeArr', arrType) |
| | | field.fileTypeArr = arrType |
| | | }) |
| | | }) |
| | | console.log(JSON.parse(JSON.stringify(arr[0])),'JSON.parse(JSON.stringify(arr[0]))') |
| | | return JSON.parse(JSON.stringify(arr[0])) |
| | | } |
| | | return null |
| | | }, |
| | | change(busiField) { |
| | | console.log(busiField,'busiField busiField') |
| | | this.fields.forEach(field => { |
| | | if (field.busiField === busiField) { |
| | | field.files.length = 0 |
| | | this.dataForm[busiField].forEach(file => field.files.push(file)) |
| | | if (this.dataForm) { |
| | | this.dataForm.hasUploadFinsh = 100 |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getUploaderImg(list){ |
| | | // this.imageList = list |
| | | if(list[0].url){ |
| | | this.$emit('getImageUrl',list[0].url) |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |