shikeying
2023-04-07 c192f834c4e092bc7c0f2722c343c25c1be619ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<template>
  <win2 :title="setting.type == 1 ? '备注' : '沟通记录'" @close="close">
    <el-form ref="formData" :model="formData" :rules="rules" label-width="100px">
      <el-form-item :label="setting.type == 1 ? '备注' : '沟通记录' + ':'" prop="content">
        <el-input
          v-model="formData.content"
          type="textarea"
          :rows="3"
          maxlength="500"
          show-word-limit
        />
      </el-form-item>
      <el-form-item label="附件:">
        <upload ref="appendix" :settings="settings" :values="formData.appendix" />
      </el-form-item>
    </el-form>
    <div slot="footer" align="center" class="dialog-footer">
      <my-button-v2 name="取消" site="form" @click="close" />
      <my-button-v2 name="保存" site="form" @click="save" />
    </div>
  </win2>
</template>
 
<script>
import win2 from '@/views/components/win2'
import upload from '@/views/components/upload'
import myButtonV2 from '@/views/components/myButtonV2'
import { getUploadUrl } from '@/utils/base'
import { saveRemark } from '@/api/common.js'
export default {
  components: { win2, upload, myButtonV2 },
  props: {
    setting: {
      type: Object,
      default: function() {
        return {}
      }
    }
  },
  data() {
    return {
      settings: {
        uploadUrl: getUploadUrl(),
        num: 1,
        accept: '.jpg,.jpeg,.png,.bmp,.pdf,.doc,.docx,.xls,.xlsx,.zip,' // 限制格式
      },
      formData: {
        id: null,
        businessType: null,
        businessId: null,
        type: null,
        content: null,
        appendix: []
      },
      rules: {
        content: [
          { required: true, message: '必填项', trigger: 'blur' }
        ]
      }
    }
  },
  created() {
    Object.assign(this.formData, this.setting)
  },
  methods: {
    close() {
      this.$emit('close')
    },
    save() {
      this.$refs.formData.validate(valid => {
        if (valid) {
          const params = Object.assign({}, this.formData)
          const appendix = this.$refs.appendix.getContent()
          if (appendix.length > 0) {
            params.appendix = JSON.stringify(appendix)
          }
          if (!params.businessType || !params.businessId || !params.type) {
            this.$message.error('缺少业务ID,业务类型,备注类型!')
            return false
          }
          saveRemark(params).then(response => {
            if (response.code == 10000 && response.data > 0) {
              this.$message.success('保存成功!')
              this.close()
            } else {
              this.$message.error(response.description || '保存失败!')
            }
          })
        }
      })
    }
  }
}
</script>