Commit ab44ac839bfcd8ba663ab37083151560e9f9e8e7
1 parent
4277ec26
v1.9 测试优惠相关功能 修复部分bug
Showing
15 changed files
with
127 additions
and
252 deletions
src/components/scm/AddCouponRuleCpps.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('couponRuleCpps.addCoupon')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="50%" | ||
| 6 | - @close="handleClose"> | ||
| 7 | - <el-form | ||
| 8 | - ref="form" | ||
| 9 | - :model="form" | ||
| 10 | - :rules="rules" | ||
| 11 | - label-width="120px"> | ||
| 12 | - <el-form-item | ||
| 13 | - :label="$t('couponRuleCpps.coupon')" | ||
| 14 | - prop="cppId"> | ||
| 15 | - <el-select | ||
| 16 | - v-model="form.cppId" | ||
| 17 | - :placeholder="$t('couponRuleCpps.couponPlaceholder')" | ||
| 18 | - style="width: 100%"> | ||
| 19 | - <el-option | ||
| 20 | - v-for="item in couponOptions" | ||
| 21 | - :key="item.cppId" | ||
| 22 | - :label="item.couponName" | ||
| 23 | - :value="item.cppId"> | 2 | + <el-dialog :title="$t('couponRuleCpps.addCoupon')" :visible.sync="visible" width="50%" @close="handleClose"> |
| 3 | + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | ||
| 4 | + <el-form-item :label="$t('couponRuleCpps.coupon')" prop="cppId"> | ||
| 5 | + <el-select v-model="form.cppId" :placeholder="$t('couponRuleCpps.couponPlaceholder')" style="width: 100%"> | ||
| 6 | + <el-option v-for="item in couponOptions" :key="item.cppId" :label="item.couponName" :value="item.cppId"> | ||
| 24 | </el-option> | 7 | </el-option> |
| 25 | </el-select> | 8 | </el-select> |
| 26 | </el-form-item> | 9 | </el-form-item> |
| 27 | - | ||
| 28 | - <el-form-item | ||
| 29 | - :label="$t('couponRuleCpps.quantity')" | ||
| 30 | - prop="quantity"> | ||
| 31 | - <el-input | ||
| 32 | - v-model="form.quantity" | ||
| 33 | - :placeholder="$t('couponRuleCpps.quantityPlaceholder')" /> | 10 | + |
| 11 | + <el-form-item :label="$t('couponRuleCpps.quantity')" prop="quantity"> | ||
| 12 | + <el-input v-model="form.quantity" :placeholder="$t('couponRuleCpps.quantityPlaceholder')" /> | ||
| 34 | </el-form-item> | 13 | </el-form-item> |
| 35 | - | ||
| 36 | - <el-form-item | ||
| 37 | - :label="$t('couponRuleCpps.frequency')" | ||
| 38 | - prop="giftFrequency"> | ||
| 39 | - <el-select | ||
| 40 | - v-model="form.giftFrequency" | ||
| 41 | - :placeholder="$t('couponRuleCpps.frequencyPlaceholder')" | 14 | + |
| 15 | + <el-form-item :label="$t('couponRuleCpps.frequency')" prop="giftFrequency"> | ||
| 16 | + <el-select v-model="form.giftFrequency" :placeholder="$t('couponRuleCpps.frequencyPlaceholder')" | ||
| 42 | style="width: 100%"> | 17 | style="width: 100%"> |
| 43 | - <el-option | ||
| 44 | - v-for="item in frequencyOptions" | ||
| 45 | - :key="item.value" | ||
| 46 | - :label="item.label" | ||
| 47 | - :value="item.value"> | 18 | + <el-option v-for="item in frequencyOptions" :key="item.value" :label="item.label" :value="item.value"> |
| 48 | </el-option> | 19 | </el-option> |
| 49 | </el-select> | 20 | </el-select> |
| 50 | </el-form-item> | 21 | </el-form-item> |
| 51 | </el-form> | 22 | </el-form> |
| 52 | - | 23 | + |
| 53 | <span slot="footer" class="dialog-footer"> | 24 | <span slot="footer" class="dialog-footer"> |
| 54 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> | 25 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> |
| 55 | <el-button type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</el-button> | 26 | <el-button type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</el-button> |
| @@ -128,7 +99,11 @@ export default { | @@ -128,7 +99,11 @@ export default { | ||
| 128 | this.$refs.form.validate(async valid => { | 99 | this.$refs.form.validate(async valid => { |
| 129 | if (valid) { | 100 | if (valid) { |
| 130 | try { | 101 | try { |
| 131 | - await saveCouponRuleCpps(this.form) | 102 | + const {code,msg} = await saveCouponRuleCpps(this.form) |
| 103 | + if(code != 0){ | ||
| 104 | + this.$message.error(msg) | ||
| 105 | + return | ||
| 106 | + } | ||
| 132 | this.$message.success(this.$t('common.operationSuccess')) | 107 | this.$message.success(this.$t('common.operationSuccess')) |
| 133 | this.visible = false | 108 | this.visible = false |
| 134 | this.$emit('success') | 109 | this.$emit('success') |
| @@ -146,8 +121,9 @@ export default { | @@ -146,8 +121,9 @@ export default { | ||
| 146 | .el-dialog { | 121 | .el-dialog { |
| 147 | .el-form { | 122 | .el-form { |
| 148 | padding: 0 20px; | 123 | padding: 0 20px; |
| 149 | - | ||
| 150 | - .el-input, .el-select { | 124 | + |
| 125 | + .el-input, | ||
| 126 | + .el-select { | ||
| 151 | width: 100%; | 127 | width: 100%; |
| 152 | } | 128 | } |
| 153 | } | 129 | } |
src/components/scm/addIntegralRuleConfig.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('integralRule.addConfigTitle')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="50%" | ||
| 6 | - @close="handleClose" | ||
| 7 | - > | ||
| 8 | - <el-form | ||
| 9 | - ref="form" | ||
| 10 | - :model="form" | ||
| 11 | - :rules="rules" | ||
| 12 | - label-width="120px" | ||
| 13 | - > | ||
| 14 | - <el-form-item | ||
| 15 | - :label="$t('integralRule.configName')" | ||
| 16 | - prop="configId" | ||
| 17 | - > | ||
| 18 | - <el-select | ||
| 19 | - v-model="form.configId" | ||
| 20 | - :placeholder="$t('integralRule.configPlaceholder')" | ||
| 21 | - style="width: 100%" | ||
| 22 | - > | ||
| 23 | - <el-option | ||
| 24 | - v-for="item in configOptions" | ||
| 25 | - :key="item.configId" | ||
| 26 | - :label="item.configName" | ||
| 27 | - :value="item.configId" | ||
| 28 | - /> | 2 | + <el-dialog :title="$t('integralRule.addConfigTitle')" :visible.sync="visible" width="50%" @close="handleClose"> |
| 3 | + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | ||
| 4 | + <el-form-item :label="$t('integralRule.configName')" prop="configId"> | ||
| 5 | + <el-select v-model="form.configId" :placeholder="$t('integralRule.configPlaceholder')" style="width: 100%"> | ||
| 6 | + <el-option v-for="item in configOptions" :key="item.configId" :label="item.configName" | ||
| 7 | + :value="item.configId" /> | ||
| 29 | </el-select> | 8 | </el-select> |
| 30 | </el-form-item> | 9 | </el-form-item> |
| 31 | </el-form> | 10 | </el-form> |
| 32 | <span slot="footer" class="dialog-footer"> | 11 | <span slot="footer" class="dialog-footer"> |
| 33 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> | 12 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> |
| 34 | - <el-button | ||
| 35 | - type="primary" | ||
| 36 | - @click="handleSubmit" | ||
| 37 | - >{{ $t('common.confirm') }}</el-button> | 13 | + <el-button type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</el-button> |
| 38 | </span> | 14 | </span> |
| 39 | </el-dialog> | 15 | </el-dialog> |
| 40 | </template> | 16 | </template> |
| @@ -90,9 +66,13 @@ export default { | @@ -90,9 +66,13 @@ export default { | ||
| 90 | async handleSubmit() { | 66 | async handleSubmit() { |
| 91 | this.$refs.form.validate(async valid => { | 67 | this.$refs.form.validate(async valid => { |
| 92 | if (!valid) return | 68 | if (!valid) return |
| 93 | - | 69 | + |
| 94 | try { | 70 | try { |
| 95 | - await saveIntegralRuleConfig(this.form) | 71 | + const {code,msg} = await saveIntegralRuleConfig(this.form) |
| 72 | + if(code != 0){ | ||
| 73 | + this.$message.error(msg) | ||
| 74 | + return | ||
| 75 | + } | ||
| 96 | this.$message.success(this.$t('common.operationSuccess')) | 76 | this.$message.success(this.$t('common.operationSuccess')) |
| 97 | this.visible = false | 77 | this.visible = false |
| 98 | this.$emit('success') | 78 | this.$emit('success') |
src/components/scm/addIntegralRuleFee.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('integralRule.addFeeTitle')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="50%" | ||
| 6 | - @close="handleClose" | ||
| 7 | - > | ||
| 8 | - <el-form | ||
| 9 | - ref="form" | ||
| 10 | - :model="form" | ||
| 11 | - :rules="rules" | ||
| 12 | - label-width="150px" | ||
| 13 | - > | ||
| 14 | - <el-form-item | ||
| 15 | - :label="$t('integralRule.payStartTime')" | ||
| 16 | - prop="payStartTime" | ||
| 17 | - > | ||
| 18 | - <el-date-picker | ||
| 19 | - v-model="form.payStartTime" | ||
| 20 | - type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('integralRule.payStartTimePlaceholder')" | ||
| 21 | - style="width: 100%" | ||
| 22 | - | ||
| 23 | - /> | 2 | + <el-dialog :title="$t('integralRule.addFeeTitle')" :visible.sync="visible" width="50%" @close="handleClose"> |
| 3 | + <el-form ref="form" :model="form" :rules="rules" label-width="150px"> | ||
| 4 | + <el-form-item :label="$t('integralRule.payStartTime')" prop="payStartTime"> | ||
| 5 | + <el-date-picker v-model="form.payStartTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 6 | + :placeholder="$t('integralRule.payStartTimePlaceholder')" style="width: 100%" /> | ||
| 24 | </el-form-item> | 7 | </el-form-item> |
| 25 | - <el-form-item | ||
| 26 | - :label="$t('integralRule.payEndTime')" | ||
| 27 | - prop="payEndTime" | ||
| 28 | - > | ||
| 29 | - <el-date-picker | ||
| 30 | - v-model="form.payEndTime" | ||
| 31 | - type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('integralRule.payEndTimePlaceholder')" | ||
| 32 | - style="width: 100%" | ||
| 33 | - | ||
| 34 | - /> | 8 | + <el-form-item :label="$t('integralRule.payEndTime')" prop="payEndTime"> |
| 9 | + <el-date-picker v-model="form.payEndTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 10 | + :placeholder="$t('integralRule.payEndTimePlaceholder')" style="width: 100%" /> | ||
| 35 | </el-form-item> | 11 | </el-form-item> |
| 36 | </el-form> | 12 | </el-form> |
| 37 | <span slot="footer" class="dialog-footer"> | 13 | <span slot="footer" class="dialog-footer"> |
| 38 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> | 14 | <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> |
| 39 | - <el-button | ||
| 40 | - type="primary" | ||
| 41 | - @click="handleSubmit" | ||
| 42 | - >{{ $t('common.confirm') }}</el-button> | 15 | + <el-button type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</el-button> |
| 43 | </span> | 16 | </span> |
| 44 | </el-dialog> | 17 | </el-dialog> |
| 45 | </template> | 18 | </template> |
| @@ -64,7 +37,7 @@ export default { | @@ -64,7 +37,7 @@ export default { | ||
| 64 | ], | 37 | ], |
| 65 | payEndTime: [ | 38 | payEndTime: [ |
| 66 | { required: true, message: this.$t('integralRule.payEndTimeRequired'), trigger: 'change' }, | 39 | { required: true, message: this.$t('integralRule.payEndTimeRequired'), trigger: 'change' }, |
| 67 | - { | 40 | + { |
| 68 | validator: (rule, value, callback) => { | 41 | validator: (rule, value, callback) => { |
| 69 | if (!value || !this.form.payStartTime) { | 42 | if (!value || !this.form.payStartTime) { |
| 70 | callback() | 43 | callback() |
| @@ -92,13 +65,17 @@ export default { | @@ -92,13 +65,17 @@ export default { | ||
| 92 | async handleSubmit() { | 65 | async handleSubmit() { |
| 93 | this.$refs.form.validate(async valid => { | 66 | this.$refs.form.validate(async valid => { |
| 94 | if (!valid) return | 67 | if (!valid) return |
| 95 | - | 68 | + |
| 96 | try { | 69 | try { |
| 97 | const params = { | 70 | const params = { |
| 98 | ...this.form, | 71 | ...this.form, |
| 99 | communityId: this.communityId | 72 | communityId: this.communityId |
| 100 | } | 73 | } |
| 101 | - await saveIntegralRuleFee(params) | 74 | + const {code,msg} = await saveIntegralRuleFee(params) |
| 75 | + if(code != 0){ | ||
| 76 | + this.$message.error(msg) | ||
| 77 | + return | ||
| 78 | + } | ||
| 102 | this.$message.success(this.$t('common.operationSuccess')) | 79 | this.$message.success(this.$t('common.operationSuccess')) |
| 103 | this.visible = false | 80 | this.visible = false |
| 104 | this.$emit('success') | 81 | this.$emit('success') |
src/components/scm/giftCouponPropertyPool.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('couponPropertyPoolManage.gift.title')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="40%" | ||
| 6 | - @close="handleClose" | ||
| 7 | - > | ||
| 8 | - <el-form | ||
| 9 | - ref="form" | ||
| 10 | - :model="formData" | ||
| 11 | - :rules="rules" | ||
| 12 | - label-width="120px" | ||
| 13 | - > | ||
| 14 | - <el-form-item | ||
| 15 | - :label="$t('couponPropertyPoolManage.gift.couponName')" | ||
| 16 | - > | ||
| 17 | - <el-input | ||
| 18 | - v-model="formData.couponName" | ||
| 19 | - disabled | ||
| 20 | - /> | 2 | + <el-dialog :title="$t('couponPropertyPoolManage.gift.title')" :visible.sync="visible" width="40%" |
| 3 | + @close="handleClose"> | ||
| 4 | + <el-form ref="form" :model="formData" :rules="rules" label-width="120px"> | ||
| 5 | + <el-form-item :label="$t('couponPropertyPoolManage.gift.couponName')"> | ||
| 6 | + <el-input v-model="formData.couponName" disabled /> | ||
| 21 | </el-form-item> | 7 | </el-form-item> |
| 22 | 8 | ||
| 23 | - <el-form-item | ||
| 24 | - :label="$t('couponPropertyPoolManage.gift.giftCount')" | ||
| 25 | - prop="giftCount" | ||
| 26 | - > | ||
| 27 | - <el-input | ||
| 28 | - v-model="formData.giftCount" | ||
| 29 | - type="number" | ||
| 30 | - :placeholder="$t('couponPropertyPoolManage.gift.giftCountPlaceholder')" | ||
| 31 | - /> | 9 | + <el-form-item :label="$t('couponPropertyPoolManage.gift.giftCount')" prop="giftCount"> |
| 10 | + <el-input v-model="formData.giftCount" type="number" | ||
| 11 | + :placeholder="$t('couponPropertyPoolManage.gift.giftCountPlaceholder')" /> | ||
| 32 | </el-form-item> | 12 | </el-form-item> |
| 33 | 13 | ||
| 34 | - <el-form-item | ||
| 35 | - :label="$t('couponPropertyPoolManage.gift.tel')" | ||
| 36 | - prop="tel" | ||
| 37 | - > | ||
| 38 | - <el-input | ||
| 39 | - v-model="formData.tel" | ||
| 40 | - :placeholder="$t('couponPropertyPoolManage.gift.telPlaceholder')" | ||
| 41 | - /> | 14 | + <el-form-item :label="$t('couponPropertyPoolManage.gift.tel')" prop="tel"> |
| 15 | + <el-input v-model="formData.tel" :placeholder="$t('couponPropertyPoolManage.gift.telPlaceholder')" /> | ||
| 42 | </el-form-item> | 16 | </el-form-item> |
| 43 | </el-form> | 17 | </el-form> |
| 44 | 18 | ||
| @@ -94,7 +68,11 @@ export default { | @@ -94,7 +68,11 @@ export default { | ||
| 94 | this.$refs.form.validate(async valid => { | 68 | this.$refs.form.validate(async valid => { |
| 95 | if (valid) { | 69 | if (valid) { |
| 96 | try { | 70 | try { |
| 97 | - await giftCouponProperty(this.formData) | 71 | + const {code,msg} = await giftCouponProperty(this.formData) |
| 72 | + if(code != 0){ | ||
| 73 | + this.$message.error(msg) | ||
| 74 | + return | ||
| 75 | + } | ||
| 98 | this.$message.success(this.$t('common.operationSuccess')) | 76 | this.$message.success(this.$t('common.operationSuccess')) |
| 99 | this.visible = false | 77 | this.visible = false |
| 100 | this.$emit('success') | 78 | this.$emit('success') |
src/components/scm/integralRuleConfig.vue
src/components/scm/integralRuleFees.vue
src/components/scm/withholdGold.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('withholdGold.applyWithdraw')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="50%" | ||
| 6 | - :before-close="handleClose" | ||
| 7 | - > | ||
| 8 | - <el-form | ||
| 9 | - ref="form" | ||
| 10 | - :model="form" | ||
| 11 | - :rules="rules" | ||
| 12 | - label-width="120px" | ||
| 13 | - label-position="right" | ||
| 14 | - > | 2 | + <el-dialog :title="$t('withholdGold.applyWithdraw')" :visible.sync="visible" width="50%" :before-close="handleClose"> |
| 3 | + <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right"> | ||
| 15 | <el-row> | 4 | <el-row> |
| 16 | <el-col :span="12"> | 5 | <el-col :span="12"> |
| 17 | <el-form-item :label="$t('withholdGold.goldAmount')" prop="amount"> | 6 | <el-form-item :label="$t('withholdGold.goldAmount')" prop="amount"> |
| @@ -67,11 +56,7 @@ | @@ -67,11 +56,7 @@ | ||
| 67 | 56 | ||
| 68 | <span slot="footer" class="dialog-footer"> | 57 | <span slot="footer" class="dialog-footer"> |
| 69 | <el-button @click="handleClose">{{ $t('common.cancel') }}</el-button> | 58 | <el-button @click="handleClose">{{ $t('common.cancel') }}</el-button> |
| 70 | - <el-button | ||
| 71 | - type="primary" | ||
| 72 | - @click="submitForm" | ||
| 73 | - :loading="loading" | ||
| 74 | - > | 59 | + <el-button type="primary" @click="submitForm" :loading="loading"> |
| 75 | {{ $t('common.submit') }} | 60 | {{ $t('common.submit') }} |
| 76 | </el-button> | 61 | </el-button> |
| 77 | </span> | 62 | </span> |
| @@ -145,7 +130,11 @@ export default { | @@ -145,7 +130,11 @@ export default { | ||
| 145 | 130 | ||
| 146 | try { | 131 | try { |
| 147 | this.loading = true | 132 | this.loading = true |
| 148 | - await applyGoldWithHold(this.form) | 133 | + const { code, msg } = await applyGoldWithHold(this.form) |
| 134 | + if(code != 0){ | ||
| 135 | + this.$message.error(msg) | ||
| 136 | + return | ||
| 137 | + } | ||
| 149 | this.$emit('success') | 138 | this.$emit('success') |
| 150 | this.$message.success(this.$t('common.operationSuccess')) | 139 | this.$message.success(this.$t('common.operationSuccess')) |
| 151 | this.visible = false | 140 | this.visible = false |
src/components/scm/withholdIntegral.vue
| 1 | <template> | 1 | <template> |
| 2 | - <el-dialog | ||
| 3 | - :title="$t('withholdIntegral.applyWithdraw')" | ||
| 4 | - :visible.sync="visible" | ||
| 5 | - width="50%" | ||
| 6 | - center | ||
| 7 | - > | 2 | + <el-dialog :title="$t('withholdIntegral.applyWithdraw')" :visible.sync="visible" width="50%" center> |
| 8 | <el-form ref="form" :model="formData" label-width="120px" :rules="rules"> | 3 | <el-form ref="form" :model="formData" label-width="120px" :rules="rules"> |
| 9 | <el-row> | 4 | <el-row> |
| 10 | <el-col :span="12"> | 5 | <el-col :span="12"> |
| @@ -14,10 +9,7 @@ | @@ -14,10 +9,7 @@ | ||
| 14 | </el-col> | 9 | </el-col> |
| 15 | <el-col :span="12"> | 10 | <el-col :span="12"> |
| 16 | <el-form-item :label="$t('withholdIntegral.withdrawPoints')" prop="applyAmount"> | 11 | <el-form-item :label="$t('withholdIntegral.withdrawPoints')" prop="applyAmount"> |
| 17 | - <el-input | ||
| 18 | - v-model="formData.applyAmount" | ||
| 19 | - :placeholder="$t('withholdIntegral.withdrawPointsPlaceholder')" | ||
| 20 | - /> | 12 | + <el-input v-model="formData.applyAmount" :placeholder="$t('withholdIntegral.withdrawPointsPlaceholder')" /> |
| 21 | </el-form-item> | 13 | </el-form-item> |
| 22 | </el-col> | 14 | </el-col> |
| 23 | </el-row> | 15 | </el-row> |
| @@ -25,18 +17,12 @@ | @@ -25,18 +17,12 @@ | ||
| 25 | <el-row> | 17 | <el-row> |
| 26 | <el-col :span="12"> | 18 | <el-col :span="12"> |
| 27 | <el-form-item :label="$t('withholdIntegral.applicant')" prop="applyUserName"> | 19 | <el-form-item :label="$t('withholdIntegral.applicant')" prop="applyUserName"> |
| 28 | - <el-input | ||
| 29 | - v-model="formData.applyUserName" | ||
| 30 | - :placeholder="$t('withholdIntegral.applicantPlaceholder')" | ||
| 31 | - /> | 20 | + <el-input v-model="formData.applyUserName" :placeholder="$t('withholdIntegral.applicantPlaceholder')" /> |
| 32 | </el-form-item> | 21 | </el-form-item> |
| 33 | </el-col> | 22 | </el-col> |
| 34 | <el-col :span="12"> | 23 | <el-col :span="12"> |
| 35 | <el-form-item :label="$t('withholdIntegral.applicantPhone')" prop="applyUserTel"> | 24 | <el-form-item :label="$t('withholdIntegral.applicantPhone')" prop="applyUserTel"> |
| 36 | - <el-input | ||
| 37 | - v-model="formData.applyUserTel" | ||
| 38 | - :placeholder="$t('withholdIntegral.applicantPhonePlaceholder')" | ||
| 39 | - /> | 25 | + <el-input v-model="formData.applyUserTel" :placeholder="$t('withholdIntegral.applicantPhonePlaceholder')" /> |
| 40 | </el-form-item> | 26 | </el-form-item> |
| 41 | </el-col> | 27 | </el-col> |
| 42 | </el-row> | 28 | </el-row> |
| @@ -44,18 +30,12 @@ | @@ -44,18 +30,12 @@ | ||
| 44 | <el-row> | 30 | <el-row> |
| 45 | <el-col :span="12"> | 31 | <el-col :span="12"> |
| 46 | <el-form-item :label="$t('withholdIntegral.bankAccount')" prop="bankNum"> | 32 | <el-form-item :label="$t('withholdIntegral.bankAccount')" prop="bankNum"> |
| 47 | - <el-input | ||
| 48 | - v-model="formData.bankNum" | ||
| 49 | - :placeholder="$t('withholdIntegral.bankAccountPlaceholder')" | ||
| 50 | - /> | 33 | + <el-input v-model="formData.bankNum" :placeholder="$t('withholdIntegral.bankAccountPlaceholder')" /> |
| 51 | </el-form-item> | 34 | </el-form-item> |
| 52 | </el-col> | 35 | </el-col> |
| 53 | <el-col :span="12"> | 36 | <el-col :span="12"> |
| 54 | <el-form-item :label="$t('withholdIntegral.accountName')" prop="bankNumName"> | 37 | <el-form-item :label="$t('withholdIntegral.accountName')" prop="bankNumName"> |
| 55 | - <el-input | ||
| 56 | - v-model="formData.bankNumName" | ||
| 57 | - :placeholder="$t('withholdIntegral.accountNamePlaceholder')" | ||
| 58 | - /> | 38 | + <el-input v-model="formData.bankNumName" :placeholder="$t('withholdIntegral.accountNamePlaceholder')" /> |
| 59 | </el-form-item> | 39 | </el-form-item> |
| 60 | </el-col> | 40 | </el-col> |
| 61 | </el-row> | 41 | </el-row> |
| @@ -63,20 +43,14 @@ | @@ -63,20 +43,14 @@ | ||
| 63 | <el-row> | 43 | <el-row> |
| 64 | <el-col :span="12"> | 44 | <el-col :span="12"> |
| 65 | <el-form-item :label="$t('withholdIntegral.bank')" prop="bankName"> | 45 | <el-form-item :label="$t('withholdIntegral.bank')" prop="bankName"> |
| 66 | - <el-input | ||
| 67 | - v-model="formData.bankName" | ||
| 68 | - type="textarea" | ||
| 69 | - :placeholder="$t('withholdIntegral.bankPlaceholder')" | ||
| 70 | - /> | 46 | + <el-input v-model="formData.bankName" type="textarea" |
| 47 | + :placeholder="$t('withholdIntegral.bankPlaceholder')" /> | ||
| 71 | </el-form-item> | 48 | </el-form-item> |
| 72 | </el-col> | 49 | </el-col> |
| 73 | <el-col :span="12"> | 50 | <el-col :span="12"> |
| 74 | <el-form-item :label="$t('withholdIntegral.applicationNote')" prop="remark"> | 51 | <el-form-item :label="$t('withholdIntegral.applicationNote')" prop="remark"> |
| 75 | - <el-input | ||
| 76 | - v-model="formData.remark" | ||
| 77 | - type="textarea" | ||
| 78 | - :placeholder="$t('withholdIntegral.applicationNotePlaceholder')" | ||
| 79 | - /> | 52 | + <el-input v-model="formData.remark" type="textarea" |
| 53 | + :placeholder="$t('withholdIntegral.applicationNotePlaceholder')" /> | ||
| 80 | </el-form-item> | 54 | </el-form-item> |
| 81 | </el-col> | 55 | </el-col> |
| 82 | </el-row> | 56 | </el-row> |
| @@ -162,7 +136,11 @@ export default { | @@ -162,7 +136,11 @@ export default { | ||
| 162 | if (!valid) return | 136 | if (!valid) return |
| 163 | 137 | ||
| 164 | this.loading = true | 138 | this.loading = true |
| 165 | - await applyIntegralWithdrawal(this.formData) | 139 | + const { code, msg } = await applyIntegralWithdrawal(this.formData) |
| 140 | + if (code != 0) { | ||
| 141 | + this.$message.error(msg) | ||
| 142 | + return | ||
| 143 | + } | ||
| 166 | this.$emit('success') | 144 | this.$emit('success') |
| 167 | this.$message.success(this.$t('common.operationSuccess')) | 145 | this.$message.success(this.$t('common.operationSuccess')) |
| 168 | this.close() | 146 | this.close() |
src/views/scm/communityIntegralList.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="community-integral-container "> | 2 | <div class="community-integral-container "> |
| 3 | - <el-card > | ||
| 4 | - <div class="white-bg padding-lg padding-top border-radius"> | 3 | + <el-card> |
| 4 | + <div class="white-bg border-radius"> | ||
| 5 | <div class="flex justify-between"> | 5 | <div class="flex justify-between"> |
| 6 | - <h3>{{ $t('communityIntegral.title') }}</h3> | 6 | + <span>{{ $t('communityIntegral.title') }}</span> |
| 7 | </div> | 7 | </div> |
| 8 | 8 | ||
| 9 | <!-- 业主信息 --> | 9 | <!-- 业主信息 --> |
| @@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
| 33 | <label> | 33 | <label> |
| 34 | {{ communityIntegralInfo.amount }} | 34 | {{ communityIntegralInfo.amount }} |
| 35 | <el-link type="primary" @click="openApplyWithholdIntegral">{{ $t('communityIntegral.withdraw') | 35 | <el-link type="primary" @click="openApplyWithholdIntegral">{{ $t('communityIntegral.withdraw') |
| 36 | - }}</el-link> | 36 | + }}</el-link> |
| 37 | </label> | 37 | </label> |
| 38 | </div> | 38 | </div> |
| 39 | </el-col> | 39 | </el-col> |
| @@ -42,7 +42,7 @@ | @@ -42,7 +42,7 @@ | ||
| 42 | 42 | ||
| 43 | <divider></divider> | 43 | <divider></divider> |
| 44 | 44 | ||
| 45 | - <div class="margin-top-sm"> | 45 | + <div class="margin-top"> |
| 46 | <el-tabs v-model="communityIntegralInfo._currentTab" | 46 | <el-tabs v-model="communityIntegralInfo._currentTab" |
| 47 | @tab-click="changeTab(communityIntegralInfo._currentTab)"> | 47 | @tab-click="changeTab(communityIntegralInfo._currentTab)"> |
| 48 | <el-tab-pane :label="$t('communityIntegral.transactionDetails')" name="communityIntegralDetail"> | 48 | <el-tab-pane :label="$t('communityIntegral.transactionDetails')" name="communityIntegralDetail"> |
| @@ -117,7 +117,12 @@ export default { | @@ -117,7 +117,12 @@ export default { | ||
| 117 | changeTab(tab) { | 117 | changeTab(tab) { |
| 118 | this.communityIntegralInfo._currentTab = tab | 118 | this.communityIntegralInfo._currentTab = tab |
| 119 | setTimeout(() => { | 119 | setTimeout(() => { |
| 120 | - this.$refs[tab].open(this.communityIntegralInfo.curIntegralRule) | 120 | + this.$refs[tab].open({ |
| 121 | + integralId: this.communityIntegralInfo.integralId, | ||
| 122 | + integralName: this.communityIntegralInfo.integralName, | ||
| 123 | + amount: this.communityIntegralInfo.amount, | ||
| 124 | + communityId: this.communityIntegralInfo.communityId | ||
| 125 | + }) | ||
| 121 | }, 500); | 126 | }, 500); |
| 122 | }, | 127 | }, |
| 123 | openApplyWithholdIntegral() { | 128 | openApplyWithholdIntegral() { |
| @@ -137,19 +142,17 @@ export default { | @@ -137,19 +142,17 @@ export default { | ||
| 137 | </script> | 142 | </script> |
| 138 | 143 | ||
| 139 | <style scoped> | 144 | <style scoped> |
| 140 | -.community-integral-container {padding: 20px;} | 145 | +.community-integral-container { |
| 146 | + margin:20px | ||
| 147 | +} | ||
| 141 | 148 | ||
| 142 | .white-bg { | 149 | .white-bg { |
| 143 | background-color: #fff; | 150 | background-color: #fff; |
| 144 | } | 151 | } |
| 145 | 152 | ||
| 146 | -.padding-lg { | ||
| 147 | - | ||
| 148 | -} | 153 | +.padding-lg {} |
| 149 | 154 | ||
| 150 | -.padding-top { | ||
| 151 | - | ||
| 152 | -} | 155 | +.padding-top {} |
| 153 | 156 | ||
| 154 | .border-radius { | 157 | .border-radius { |
| 155 | border-radius: 4px; | 158 | border-radius: 4px; |
| @@ -176,7 +179,6 @@ export default { | @@ -176,7 +179,6 @@ export default { | ||
| 176 | } | 179 | } |
| 177 | 180 | ||
| 178 | .col-form-label { | 181 | .col-form-label { |
| 179 | - font-weight: bold; | ||
| 180 | margin-right: 10px; | 182 | margin-right: 10px; |
| 181 | } | 183 | } |
| 182 | </style> | 184 | </style> |
| 183 | \ No newline at end of file | 185 | \ No newline at end of file |
src/views/scm/couponMarketList.vue
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | {{ $t('common.search') }} | 8 | {{ $t('common.search') }} |
| 9 | </el-button> | 9 | </el-button> |
| 10 | </div> | 10 | </div> |
| 11 | - <el-row :gutter="20"> | 11 | + <el-row :gutter="20" class="margin-top-sm"> |
| 12 | <el-col :span="3"></el-col> | 12 | <el-col :span="3"></el-col> |
| 13 | <el-col :span="12"> | 13 | <el-col :span="12"> |
| 14 | <el-link v-for="(item, index) in couponMarketInfo.suppliers" :key="index" type="primary" | 14 | <el-link v-for="(item, index) in couponMarketInfo.suppliers" :key="index" type="primary" |
src/views/scm/couponPropertyPoolManageList.vue
| @@ -40,9 +40,7 @@ | @@ -40,9 +40,7 @@ | ||
| 40 | <div slot="header" class="flex justify-between"> | 40 | <div slot="header" class="flex justify-between"> |
| 41 | <span>{{ $t('couponPropertyPoolManage.list.title') }}</span> | 41 | <span>{{ $t('couponPropertyPoolManage.list.title') }}</span> |
| 42 | <div style="float:right"> | 42 | <div style="float:right"> |
| 43 | - <el-button type="text" @click="handleShowDoc"> | ||
| 44 | - {{ $t('common.document') }} | ||
| 45 | - </el-button> | 43 | + |
| 46 | <el-button type="primary" size="small" @click="handleAdd"> | 44 | <el-button type="primary" size="small" @click="handleAdd"> |
| 47 | {{ $t('couponPropertyPoolManage.list.add') }} | 45 | {{ $t('couponPropertyPoolManage.list.add') }} |
| 48 | </el-button> | 46 | </el-button> |
src/views/scm/couponPropertyUserManageList.vue
| @@ -6,19 +6,26 @@ | @@ -6,19 +6,26 @@ | ||
| 6 | <span>{{ $t('couponPropertyUserManage.search.title') }}</span> | 6 | <span>{{ $t('couponPropertyUserManage.search.title') }}</span> |
| 7 | </div> | 7 | </div> |
| 8 | <el-row :gutter="20"> | 8 | <el-row :gutter="20"> |
| 9 | - <el-col :span="6"> | 9 | + <el-col :span="4"> |
| 10 | <el-input v-model="searchForm.couponId" :placeholder="$t('couponPropertyUserManage.search.couponId')" | 10 | <el-input v-model="searchForm.couponId" :placeholder="$t('couponPropertyUserManage.search.couponId')" |
| 11 | clearable /> | 11 | clearable /> |
| 12 | </el-col> | 12 | </el-col> |
| 13 | - <el-col :span="6"> | 13 | + <el-col :span="4"> |
| 14 | <el-input v-model="searchForm.couponName" :placeholder="$t('couponPropertyUserManage.search.couponName')" | 14 | <el-input v-model="searchForm.couponName" :placeholder="$t('couponPropertyUserManage.search.couponName')" |
| 15 | clearable /> | 15 | clearable /> |
| 16 | </el-col> | 16 | </el-col> |
| 17 | - <el-col :span="6"> | 17 | + <el-col :span="4"> |
| 18 | <el-input v-model="searchForm.validityDay" :placeholder="$t('couponPropertyUserManage.search.validityDay')" | 18 | <el-input v-model="searchForm.validityDay" :placeholder="$t('couponPropertyUserManage.search.validityDay')" |
| 19 | clearable /> | 19 | clearable /> |
| 20 | </el-col> | 20 | </el-col> |
| 21 | - <el-col :span="6"> | 21 | + <el-col :span="4"> |
| 22 | + <el-input v-model="searchForm.couponUserName" :placeholder="$t('couponPropertyUserManage.search.userName')" | ||
| 23 | + clearable /> | ||
| 24 | + </el-col> | ||
| 25 | + <el-col :span="4"> | ||
| 26 | + <el-input v-model="searchForm.tel" :placeholder="$t('couponPropertyUserManage.search.tel')" clearable /> | ||
| 27 | + </el-col> | ||
| 28 | + <el-col :span="4"> | ||
| 22 | <el-button type="primary" @click="handleSearch"> | 29 | <el-button type="primary" @click="handleSearch"> |
| 23 | {{ $t('common.search') }} | 30 | {{ $t('common.search') }} |
| 24 | </el-button> | 31 | </el-button> |
| @@ -26,14 +33,8 @@ | @@ -26,14 +33,8 @@ | ||
| 26 | </el-row> | 33 | </el-row> |
| 27 | 34 | ||
| 28 | <el-row :gutter="20" style="margin-top: 15px;"> | 35 | <el-row :gutter="20" style="margin-top: 15px;"> |
| 29 | - <el-col :span="6"> | ||
| 30 | - <el-input v-model="searchForm.userName" :placeholder="$t('couponPropertyUserManage.search.userName')" | ||
| 31 | - clearable /> | ||
| 32 | - </el-col> | ||
| 33 | - <el-col :span="6"> | ||
| 34 | - <el-input v-model="searchForm.tel" :placeholder="$t('couponPropertyUserManage.search.tel')" clearable /> | ||
| 35 | - </el-col> | ||
| 36 | - <el-col :span="6"> | 36 | + |
| 37 | + <el-col :span="4"> | ||
| 37 | <el-select v-model="searchForm.toType" :placeholder="$t('couponPropertyUserManage.search.toType')" | 38 | <el-select v-model="searchForm.toType" :placeholder="$t('couponPropertyUserManage.search.toType')" |
| 38 | style="width:100%"> | 39 | style="width:100%"> |
| 39 | <el-option :label="$t('couponPropertyUserManage.search.selectToType')" value="" /> | 40 | <el-option :label="$t('couponPropertyUserManage.search.selectToType')" value="" /> |
| @@ -43,10 +44,7 @@ | @@ -43,10 +44,7 @@ | ||
| 43 | <el-option :label="$t('couponPropertyUserManage.search.parking')" value="4004" /> | 44 | <el-option :label="$t('couponPropertyUserManage.search.parking')" value="4004" /> |
| 44 | </el-select> | 45 | </el-select> |
| 45 | </el-col> | 46 | </el-col> |
| 46 | - </el-row> | ||
| 47 | - | ||
| 48 | - <el-row :gutter="20" style="margin-top: 15px;"> | ||
| 49 | - <el-col :span="6"> | 47 | + <el-col :span="4"> |
| 50 | <el-select v-model="searchForm.state" :placeholder="$t('couponPropertyUserManage.search.state')" | 48 | <el-select v-model="searchForm.state" :placeholder="$t('couponPropertyUserManage.search.state')" |
| 51 | style="width:100%"> | 49 | style="width:100%"> |
| 52 | <el-option :label="$t('couponPropertyUserManage.search.selectState')" value="" /> | 50 | <el-option :label="$t('couponPropertyUserManage.search.selectState')" value="" /> |
| @@ -105,7 +103,7 @@ export default { | @@ -105,7 +103,7 @@ export default { | ||
| 105 | couponId: '', | 103 | couponId: '', |
| 106 | couponName: '', | 104 | couponName: '', |
| 107 | validityDay: '', | 105 | validityDay: '', |
| 108 | - userName: '', | 106 | + couponUserName: '', |
| 109 | tel: '', | 107 | tel: '', |
| 110 | toType: '', | 108 | toType: '', |
| 111 | state: '', | 109 | state: '', |
src/views/scm/couponRuleList.vue
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | <el-col :span="20" class="right-panel"> | 7 | <el-col :span="20" class="right-panel"> |
| 8 | <el-card class="box-card"> | 8 | <el-card class="box-card"> |
| 9 | <div slot="header" class="text-left"> | 9 | <div slot="header" class="text-left"> |
| 10 | - <h5>{{ currentCouponRule.ruleName }}</h5> | 10 | + <span>{{ currentCouponRule.ruleName }}</span> |
| 11 | <div class="role-context">{{ currentCouponRule.remark }}</div> | 11 | <div class="role-context">{{ currentCouponRule.remark }}</div> |
| 12 | </div> | 12 | </div> |
| 13 | <el-tabs v-model="activeTab" @tab-click="handleTabClick(activeTab)"> | 13 | <el-tabs v-model="activeTab" @tab-click="handleTabClick(activeTab)"> |
src/views/scm/goldList.vue
| @@ -3,13 +3,13 @@ | @@ -3,13 +3,13 @@ | ||
| 3 | <el-card class="box-card"> | 3 | <el-card class="box-card"> |
| 4 | <div slot="header" class="clearfix"> | 4 | <div slot="header" class="clearfix"> |
| 5 | <div class="flex justify-between"> | 5 | <div class="flex justify-between"> |
| 6 | - <h3>{{ $t('gold.title') }}</h3> | 6 | + <span>{{ $t('gold.title') }}</span> |
| 7 | <div></div> | 7 | <div></div> |
| 8 | </div> | 8 | </div> |
| 9 | </div> | 9 | </div> |
| 10 | 10 | ||
| 11 | <!-- 业主信息 --> | 11 | <!-- 业主信息 --> |
| 12 | - <div class="margin-top"> | 12 | + <div class=""> |
| 13 | <el-row> | 13 | <el-row> |
| 14 | <el-col :span="6"> | 14 | <el-col :span="6"> |
| 15 | <div class="form-group"> | 15 | <div class="form-group"> |
| @@ -174,7 +174,6 @@ export default { | @@ -174,7 +174,6 @@ export default { | ||
| 174 | border-radius: 4px; | 174 | border-radius: 4px; |
| 175 | 175 | ||
| 176 | .el-form-item__label { | 176 | .el-form-item__label { |
| 177 | - font-weight: bold; | ||
| 178 | color: #606266; | 177 | color: #606266; |
| 179 | } | 178 | } |
| 180 | 179 |
src/views/scm/integralRuleList.vue
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | <el-col :span="20" class="right-panel"> | 7 | <el-col :span="20" class="right-panel"> |
| 8 | <el-card class="box-card"> | 8 | <el-card class="box-card"> |
| 9 | <div slot="header" class="text-left"> | 9 | <div slot="header" class="text-left"> |
| 10 | - <h5>{{ integralRuleInfo.curIntegralRule.ruleName }}</h5> | 10 | + <span>{{ integralRuleInfo.curIntegralRule.ruleName }}</span> |
| 11 | <div class="role-context">{{ integralRuleInfo.curIntegralRule.remark }}</div> | 11 | <div class="role-context">{{ integralRuleInfo.curIntegralRule.remark }}</div> |
| 12 | </div> | 12 | </div> |
| 13 | <el-tabs v-model="integralRuleInfo.tabName" @tab-click="handleTabClick(integralRuleInfo.tabName)"> | 13 | <el-tabs v-model="integralRuleInfo.tabName" @tab-click="handleTabClick(integralRuleInfo.tabName)"> |