jinlin
2024-01-02 a38a1ac77bb6ac9ea8bf0cf5f5f6b68d0e6e6974
web/src/components/config-uploader/src/config-uploader.vue
@@ -34,23 +34,24 @@
           <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>
<!--        <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="180" style="text-align: left;white-space:nowrap;">
            <template slot-scope="scope">
              <span v-html="(scope.row.isRequired?'<font color=red>* </font>':'')+ scope.row.busiFieldName"></span>
            </template>
          </el-table-column>
<!--          <el-table-column width="180" style="text-align: left;white-space:nowrap;">-->
<!--            <template slot-scope="scope">-->
<!--              <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 v-model="dataForm[scope.row.busiField]" :dataForm="dataForm" multiple
                           :lineHeight="lineHeight"
                           :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)" @getUploaderImg="getUploaderImg"/>
@@ -68,6 +69,14 @@
    name: 'ConfigUploader',
    components: {},
    props: {
      busiTypeVarName: {
        type : String,
        default:'files'
      },
      lineHeight:{
        type:Boolean,
        default:false
      },
      value: Object,
      dataForm: Object,
      busiType: String // 业务类型
@@ -81,14 +90,14 @@
    computed: {
      fields() {
        let arr = []
        if (this.dataForm.files && this.dataForm.files.groups) {
          this.dataForm.files.groups.forEach(group => {
        if (this.value && this.value.groups) {
          console.log(this.dataForm,"fields this.dataForm")
          this.value.groups.forEach(group => {
            group.fields.forEach(field => {
              let arrType = []
              if (field.fileTypes) {
                arrType = field.fileTypes.split(',')
              }
              //this.$set(field, 'fileTypeArr', arrType)
              field.fileTypeArr = arrType
              arr.push(field)
            })
@@ -104,9 +113,8 @@
            ...this.getOss(),
            ...(val || {})
          }
          // this.dataForm.files = this.oss
          this.$set(this.dataForm, 'files', this.oss)
          this.$set(this.dataForm, this.busiTypeVarName, this.oss)
          console.log(this.fields, 'watch this.fields')
          // 分解到每个字段给dataForm赋值
          this.fields.forEach(field => {
            // this.dataForm[field.busiField] = field.files
@@ -121,8 +129,7 @@
        this.oss.groups.forEach(group => {
          this.activeNames.push(group.busiFieldGroup)
        })
        // this.dataForm.files = this.oss
        this.$set(this.dataForm, 'files', this.oss)
        this.$set(this.dataForm, this.busiTypeVarName, this.oss)
      }
    },
    methods: {
@@ -151,7 +158,11 @@
        }
      },
      change(busiField) {
        console.log(busiField, 'config_uploader change(busiField) busiField')
        console.log(busiField,this.uploadList, 'config_uploader change(busiField) busiField')
        console.log(this.fields, 'change this.fields')
        if (!Array.isArray(this.dataForm[busiField])) {
          this.$set(this.dataForm, busiField, [])
        }
        this.fields.forEach(field => {
          if (field.busiField === busiField) {
            field.files.length = 0
@@ -162,6 +173,7 @@
            if (this.dataForm) {
              this.dataForm.hasUploadFinsh = 100
            }
            console.log(this.dataForm[busiField], 'config_uploader change(busiField) this.dataForm[busiField]')
          }
        })
        console.log(this.dataForm, 'config_uploader change(busiField)')