123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- <template>
- <a-modal
- title="编辑合作伙伴"
- :width="900"
- :visible="visible"
- :confirmLoading="confirmLoading"
- ok-text="保存"
- cancel-text="关闭"
- @ok="handleSubmit"
- @cancel="handleCancel"
- :maskClosable="false"
- >
- <a-spin :spinning="formLoading">
- <a-form :form="form">
- <a-form-item
- style="display: none;"
- >
- <a-input v-decorator="['partnerId']" />
- </a-form-item>
- <a-form-item label="标题名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
- <a-input
- placeholder="请输入标题名称"
- v-decorator="['partnerName', {rules: [{required: true, message: '请输入标题名称!'}]}]"
- />
- </a-form-item>
- <a-form-item
- label="默认图片"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- has-feedback
- :required="true"
- >
- <div>
- <upload-component
- ref="upLoadRef"
- :remarkTxt="remarkTxt"
- @uploadSuccess="uploadSuccess"
- v-decorator="[
- 'partnerImg',
- {
- trigger: 'change',
- rules: [{ validator: checkimageUrl }]
- },
- ]"
- ></upload-component>
- </div>
- </a-form-item>
- <a-form-item
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- label="排序"
- :hasFeedback="true"
- :required="true"
- >
- <a-input
- placeholder="请输入排序号"
- v-decorator="['partnerSort', {rules: [{validator: checkSortIndex}]}]"
- />
- </a-form-item>
- <a-form-item label="是否上线" :labelCol="labelCol" :wrapperCol="wrapperCol" :required="true">
- <a-radio-group name="partnerIsLine" v-decorator="['partnerIsLine',{ initialValue: 1 }]">
- <a-radio :value="1">上线</a-radio>
- <a-radio :value="0">下线</a-radio>
- </a-radio-group>
- </a-form-item>
- </a-form>
- </a-spin>
- </a-modal>
- </template>
- <script>
- import homeApi from '@/api/homeApi'
- import uploadComponent from '@/components/upLoad'
- export default {
- components: { uploadComponent },
- data () {
- return {
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 }
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 15 }
- },
- visible: false,
- confirmLoading: false,
- formLoading: false,
- form: this.$form.createForm(this),
- remarkTxt: '请上传174×54规格图像'
- }
- },
- mounted () {
- },
- methods: {
- // 初始化方法
- edit (record) {
- this.visible = true
- // this.formLoading = true
- setTimeout(() => {
- this.form.setFieldsValue(
- {
- partnerId: record.partnerId,
- partnerName: record.partnerName,
- partnerImg: record.partnerImg,
- partnerIsLine: record.partnerIsLine,
- partnerSort: record.partnerSort
- }
- )
- this.$nextTick(() => {
- this.$refs.upLoadRef.initData([record.partnerImg])
- })
- }, 100)
- },
- handleSubmit () {
- const {
- form: { validateFields }
- } = this
- this.confirmLoading = true
- validateFields((errors, values) => {
- if (!errors) {
- values.partnerSort = parseInt(values.partnerSort)
- homeApi.updatePartner(values)
- .then(res => {
- if (res.status === 200) {
- this.$message.success('编辑成功')
- this.visible = false
- this.confirmLoading = false
- this.$emit('ok', values)
- this.form.resetFields()
- } else {
- this.$message.error('编辑失败:' + res.msg)
- }
- })
- .finally(res => {
- this.confirmLoading = false
- })
- } else {
- this.confirmLoading = false
- }
- })
- },
- handleCancel () {
- this.form.resetFields()
- this.visible = false
- },
- uploadSuccess (avg) {
- if (avg.fileList[0]) {
- this.form.resetFields('partnerImg')
- this.form.setFieldsValue({ 'partnerImg': avg.fileList[0].uri })
- }
- },
- checkimageUrl (rule, value, callback) {
- if (value && value.length > 0) {
- callback()
- return
- }
- var text = '请上传图片'
- callback(text)
- },
- checkSortIndex (rule, value, callback) {
- var text = '请输入排序号!'
- if (!value) {
- callback(text)
- } else if (/(^[1-9]\d*$)/.test(value)) {
- callback()
- } else {
- text = '请输入数字'
- callback(text)
- }
- }
- }
- }
- </script>
|