renkang
2025-01-24 d492850f1cc64ddcfaf43798af9c76c2505414fd
admin/src/views/finance/collectionSettings.vue
@@ -5,15 +5,46 @@
                <el-form ref="form" :model="form" label-width="120px">
                    <el-form-item label="短信模板">
                        <div style="display: flex; align-items: self-start;">
                            <el-input type="textarea" rows="5" v-model="form.desc"></el-input>
                            <el-button type="primary" style="margin-left: 10px;">保存</el-button>
                            <el-input type="textarea" rows="5" v-model="form.smsTemp.title"></el-input>
<!--                            <el-button type="primary" style="margin-left: 10px;">保存</el-button>-->
                        </div>
                    </el-form-item>
                    <el-form-item label="邮箱模板">
                        <div style="display: flex; align-items: self-start;">
                            <el-input type="textarea" rows="5" v-model="form.desc"></el-input>
                            <el-button type="primary" style="margin-left: 10px;">保存</el-button>
                            <el-input type="textarea" rows="5" v-model="form.emailTemp.title"></el-input>
<!--                            <el-button type="primary" style="margin-left: 10px;">保存</el-button>-->
                        </div>
                    </el-form-item>
                    <el-form-item label="租赁通知单模板">
                        <div style="display: flex; align-items: self-start;">
                            <el-tooltip style="margin-right: 10px; margin-top: 10px; flex-shrink: 0;" effect="dark" content="包含租赁费、物业费、租赁押金、物业押金" placement="bottom-start">
                                <i class="el-icon-question"></i>
                            </el-tooltip>
                            <el-upload
                                style="flex: 1;"
                                class="upload-demo"
                                :action="uploadImgUrl"
                                :data="uploadData"
                                :on-success="uploadAvatarSuccess"
                                :on-remove="handleRemove"
                                :file-list="form.leaseTemp">
                                <el-button size="small" type="primary">点击上传</el-button>
                            </el-upload>
                        </div>
                    </el-form-item>
                    <el-form-item label="其他通知单模板">
                        <el-upload
                            class="upload-demo"
                            :action="uploadImgUrl"
                            :data="uploadData"
                            :on-success="uploadAvatarSuccess1"
                            :on-remove="handleRemove1"
                            :file-list="form.otherTemp">
                            <el-button size="small" type="primary">点击上传</el-button>
                        </el-upload>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="submit" :disabled="loading" :loading="loading">保存</el-button>
                    </el-form-item>
                </el-form>
            </div>
@@ -25,16 +56,67 @@
<script>
    import templateKeywords from './components/templateKeywords'
    import { getCallTemp, updTempConfig } from '@/api/ywTempConfig'
  export default {
    name: 'collectionSettings',
    data() {
      return {
        uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
        uploadData: {
          folder: 'TEMP_CONFIG'
        },
        form: {
          desc: ''
        }
          emailTemp: {},
          smsTemp: {},
          leaseTemp: [],
          otherTemp: []
        },
        loading: false
      }
    },
    components: { templateKeywords }
    components: { templateKeywords },
    created () {
      this.getCallTempVal()
    },
    methods: {
      submit() {
        this.loading = true
        updTempConfig({
          emailTemp: this.form.emailTemp,
          smsTemp: this.form.smsTemp,
          leaseTemp: this.form.leaseTemp[0],
          otherTemp: this.form.otherTemp[0]
        }).then(res => {
          this.$message.success('更新成功!')
          this.getCallTempVal()
        }).finally(() => {
          this.loading = false
        })
      },
      handleRemove(e) {
        this.form.leaseTemp = []
      },
      uploadAvatarSuccess(file) {
        const item = file.data[0]
        this.form.leaseTemp = [{ ...item, name: item.originname }]
      },
      handleRemove1(e) {
        this.form.otherTemp = []
      },
      uploadAvatarSuccess1(file) {
        const item = file.data[0]
        this.form.otherTemp = [{ ...item, name: item.originname }]
      },
      getCallTempVal() {
        getCallTemp({})
            .then(res => {
              this.form.smsTemp = res.smsTemp
              this.form.emailTemp = res.emailTemp
              this.form.leaseTemp = [{ url: res.leaseTemp.url, name: res.leaseTemp.title }]
              this.form.otherTemp = [{ url: res.otherTemp.url, name: res.otherTemp.title }]
            })
      }
    }
  }
</script>
@@ -52,7 +134,7 @@
            align-items: self-start;
            justify-content: space-between;
            .content_form {
                width: 60%;
                width: 70%;
            }
        }
    }