Pārlūkot izejas kodu

盲盒后台页面修改

ouyang 3 gadi atpakaļ
vecāks
revīzija
f446f88b35

+ 97 - 92
src/main/vue/src/views/BlindBoxEdit.vue

@@ -65,7 +65,7 @@
                         </el-table>
                         </el-table>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item>
                     <el-form-item>
-                        <el-button size="mini" @click="addProperty"> 添加特性 </el-button>
+                        <el-button size="mini" @click="addProperty"> 添加特性</el-button>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item label="特权" prop="privileges" style="width: calc(100vw - 450px)">
                     <el-form-item label="特权" prop="privileges" style="width: calc(100vw - 450px)">
                         <el-table :data="privilegeOptions">
                         <el-table :data="privilegeOptions">
@@ -167,7 +167,6 @@
                         <el-form-item
                         <el-form-item
                             prop="startTime"
                             prop="startTime"
                             label="预约开始时间"
                             label="预约开始时间"
-                            v-if="formData.hasSubscribe"
                             style="margin-left: 22px"
                             style="margin-left: 22px"
                         >
                         >
                             <el-date-picker
                             <el-date-picker
@@ -237,7 +236,8 @@
                     </el-form-item>
                     </el-form-item>
 
 
                     <el-form-item prop="holdDays" label="持有天数">
                     <el-form-item prop="holdDays" label="持有天数">
-                        <el-input-number type="number" :min="0" :step="1" :max="2147483647" v-model="formData.holdDays" style="width: 180px"></el-input-number>
+                        <el-input-number type="number" :min="0" :step="1" :max="2147483647" v-model="formData.holdDays"
+                                         style="width: 180px"></el-input-number>
                         <div class="tip">持有多少天可转赠/转让。为空时,按系统设置天数</div>
                         <div class="tip">持有多少天可转赠/转让。为空时,按系统设置天数</div>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="noSoldOut" label="售罄">
                     <el-form-item prop="noSoldOut" label="售罄">
@@ -251,58 +251,58 @@
                         </el-radio-group>
                         </el-radio-group>
                     </el-form-item>
                     </el-form-item>
 
 
-<!--                    <div class="inline-wrapper">-->
-<!--                        <el-form-item prop="assignment" label="拉新任务指标">-->
-<!--                            <el-input-number-->
-<!--                                type="number"-->
-<!--                                :min="0"-->
-<!--                                :step="1"-->
-<!--                                :max="5"-->
-<!--                                v-model="formData.assignment"-->
-<!--                            ></el-input-number>-->
-<!--                            <div class="tip">0表示无拉新任务限制</div>-->
-<!--                        </el-form-item>-->
-<!--                        <el-form-item prop="totalQuota" label="白名单额度" v-if="formData.assignment > 0">-->
-<!--                            <el-input-number-->
-<!--                                type="number"-->
-<!--                                :min="0"-->
-<!--                                :step="1"-->
-<!--                                v-model="formData.totalQuota"-->
-<!--                                :disabled="!editQuota"-->
-<!--                            ></el-input-number>-->
-<!--                            <div class="tip">多少人拉新可获得积分</div>-->
-<!--                        </el-form-item>-->
-<!--                    </div>-->
-<!--                    <el-form-item prop="openQuota" label="白名单分享" v-if="formData.assignment > 0">-->
-<!--                        <el-radio v-model="formData.openQuota" :label="true">开启</el-radio>-->
-<!--                        <el-radio v-model="formData.openQuota" :label="false">关闭</el-radio>-->
-<!--                    </el-form-item>-->
-<!--                    <div class="inline-wrapper">-->
-<!--                        <el-form-item prop="timeDelay" label="延迟销售" v-if="formData.assignment > 0">-->
-<!--                            <el-radio v-model="formData.timeDelay" :label="true">是</el-radio>-->
-<!--                            <el-radio v-model="formData.timeDelay" :label="false">否</el-radio>-->
-<!--                        </el-form-item>-->
-<!--                        <el-form-item-->
-<!--                            prop="saleTime"-->
-<!--                            label="销售时间"-->
-<!--                            v-if="formData.assignment > 0 && formData.timeDelay"-->
-<!--                            style="margin-left: 22px"-->
-<!--                        >-->
-<!--                            <el-date-picker-->
-<!--                                v-model="formData.saleTime"-->
-<!--                                type="datetime"-->
-<!--                                value-format="yyyy-MM-dd HH:mm:ss"-->
-<!--                                placeholder="销售时间"-->
-<!--                            ></el-date-picker>-->
-<!--                        </el-form-item>-->
-<!--                    </div>-->
+                    <!--                    <div class="inline-wrapper">-->
+                    <!--                        <el-form-item prop="assignment" label="拉新任务指标">-->
+                    <!--                            <el-input-number-->
+                    <!--                                type="number"-->
+                    <!--                                :min="0"-->
+                    <!--                                :step="1"-->
+                    <!--                                :max="5"-->
+                    <!--                                v-model="formData.assignment"-->
+                    <!--                            ></el-input-number>-->
+                    <!--                            <div class="tip">0表示无拉新任务限制</div>-->
+                    <!--                        </el-form-item>-->
+                    <!--                        <el-form-item prop="totalQuota" label="白名单额度" v-if="formData.assignment > 0">-->
+                    <!--                            <el-input-number-->
+                    <!--                                type="number"-->
+                    <!--                                :min="0"-->
+                    <!--                                :step="1"-->
+                    <!--                                v-model="formData.totalQuota"-->
+                    <!--                                :disabled="!editQuota"-->
+                    <!--                            ></el-input-number>-->
+                    <!--                            <div class="tip">多少人拉新可获得积分</div>-->
+                    <!--                        </el-form-item>-->
+                    <!--                    </div>-->
+                    <!--                    <el-form-item prop="openQuota" label="白名单分享" v-if="formData.assignment > 0">-->
+                    <!--                        <el-radio v-model="formData.openQuota" :label="true">开启</el-radio>-->
+                    <!--                        <el-radio v-model="formData.openQuota" :label="false">关闭</el-radio>-->
+                    <!--                    </el-form-item>-->
+                    <!--                    <div class="inline-wrapper">-->
+                    <!--                        <el-form-item prop="timeDelay" label="延迟销售" v-if="formData.assignment > 0">-->
+                    <!--                            <el-radio v-model="formData.timeDelay" :label="true">是</el-radio>-->
+                    <!--                            <el-radio v-model="formData.timeDelay" :label="false">否</el-radio>-->
+                    <!--                        </el-form-item>-->
+                    <!--                        <el-form-item-->
+                    <!--                            prop="saleTime"-->
+                    <!--                            label="销售时间"-->
+                    <!--                            v-if="formData.assignment > 0 && formData.timeDelay"-->
+                    <!--                            style="margin-left: 22px"-->
+                    <!--                        >-->
+                    <!--                            <el-date-picker-->
+                    <!--                                v-model="formData.saleTime"-->
+                    <!--                                type="datetime"-->
+                    <!--                                value-format="yyyy-MM-dd HH:mm:ss"-->
+                    <!--                                placeholder="销售时间"-->
+                    <!--                            ></el-date-picker>-->
+                    <!--                        </el-form-item>-->
+                    <!--                    </div>-->
 
 
-<!--                    <el-form-item label="分享海报" v-if="formData.assignment > 0">-->
-<!--                        <single-upload v-model="formData.shareBg"></single-upload>-->
-<!--                    </el-form-item>-->
-<!--                    <el-form-item label="注册海报" v-if="formData.assignment > 0">-->
-<!--                        <single-upload v-model="formData.registerBg"></single-upload>-->
-<!--                    </el-form-item>-->
+                    <!--                    <el-form-item label="分享海报" v-if="formData.assignment > 0">-->
+                    <!--                        <single-upload v-model="formData.shareBg"></single-upload>-->
+                    <!--                    </el-form-item>-->
+                    <!--                    <el-form-item label="注册海报" v-if="formData.assignment > 0">-->
+                    <!--                        <single-upload v-model="formData.registerBg"></single-upload>-->
+                    <!--                    </el-form-item>-->
                     <el-form-item class="form-submit">
                     <el-form-item class="form-submit">
                         <el-button @click="onSave" :loading="saving" type="primary" v-if="!formData.id">
                         <el-button @click="onSave" :loading="saving" type="primary" v-if="!formData.id">
                             保存
                             保存
@@ -324,7 +324,7 @@
                 :rules="addItemFormRules"
                 :rules="addItemFormRules"
             >
             >
                 <el-form-item prop="collectionId" label="作品">
                 <el-form-item prop="collectionId" label="作品">
-                    <collection-search v-model="addItemForm.collectionId" @select="selectItem"> </collection-search>
+                    <collection-search v-model="addItemForm.collectionId" @select="selectItem"></collection-search>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item prop="total" label="数量">
                 <el-form-item prop="total" label="数量">
                     <el-input-number v-model="addItemForm.total" :min="1" :max="addItemForm.max || 0"></el-input-number>
                     <el-input-number v-model="addItemForm.total" :min="1" :max="addItemForm.max || 0"></el-input-number>
@@ -375,7 +375,8 @@
 <script>
 <script>
 import resolveUrl from 'resolve-url';
 import resolveUrl from 'resolve-url';
 import ModelUpload from '../components/ModelUpload.vue';
 import ModelUpload from '../components/ModelUpload.vue';
-import { format, parse, isBefore } from 'date-fns';
+import {format, parse, isBefore} from 'date-fns';
+
 export default {
 export default {
     name: 'BlindBoxEdit',
     name: 'BlindBoxEdit',
     created() {
     created() {
@@ -433,7 +434,7 @@ export default {
                 return resolve();
                 return resolve();
             }),
             }),
             this.$http
             this.$http
-                .post('/privilegeOption/all', { size: 10000, query: { del: false } }, { body: 'json' })
+                .post('/privilegeOption/all', {size: 10000, query: {del: false}}, {body: 'json'})
                 .then(res => {
                 .then(res => {
                     this.privilegeOptions = res.content;
                     this.privilegeOptions = res.content;
                     return Promise.resolve();
                     return Promise.resolve();
@@ -443,8 +444,8 @@ export default {
                     this.$http
                     this.$http
                         .post(
                         .post(
                             '/blindBoxItem/all',
                             '/blindBoxItem/all',
-                            { query: { blindBoxId: this.$route.query.id }, size: 10000 },
-                            { body: 'json' }
+                            {query: {blindBoxId: this.$route.query.id}, size: 10000},
+                            {body: 'json'}
                         )
                         )
                         .then(res => {
                         .then(res => {
                             this.blindBoxItems = res.content;
                             this.blindBoxItems = res.content;
@@ -477,7 +478,7 @@ export default {
             saving: false,
             saving: false,
             formData: {
             formData: {
                 onShelf: false,
                 onShelf: false,
-                salable: true,
+                salable: false,
                 properties: [],
                 properties: [],
                 type: 'BLIND_BOX',
                 type: 'BLIND_BOX',
                 source: 'OFFICIAL',
                 source: 'OFFICIAL',
@@ -614,17 +615,19 @@ export default {
                 startTime: [
                 startTime: [
                     {
                     {
                         validator: (rule, value, callback) => {
                         validator: (rule, value, callback) => {
-                            if (this.formData.hasSubscribe) {
-                                if (!value) {
-                                    callback(new Error('请填写发布时间'));
-                                } else if (isBefore(parse(value, 'yyyy-MM-dd HH:mm:ss', new Date()), new Date())) {
-                                    callback(new Error('发布时间不能小于当前时间'));
-                                } else {
-                                    callback();
-                                }
-                            } else {
-                                callback();
+                            // if (this.formData.hasSubscribe) {
+                            //     if (!value) {
+                            //         callback(new Error('请填写发布时间'));
+                            //     } else
+                            if (isBefore(parse(value, 'yyyy-MM-dd HH:mm:ss', new Date()), new Date())) {
+                                callback(new Error('发布时间不能小于当前时间'));
                             }
                             }
+                            //     else {
+                            //     callback();
+                            // }
+                            // } else {
+                            callback();
+                            // }
                         },
                         },
                         trigger: 'blur'
                         trigger: 'blur'
                     }
                     }
@@ -694,7 +697,7 @@ export default {
                         }
                         }
                     }
                     }
                 ],
                 ],
-                category: [{ required: true, message: '请填写分类' }],
+                category: [{required: true, message: '请填写分类'}],
                 saleTime: [
                 saleTime: [
                     {
                     {
                         validator: (rule, value, callback) => {
                         validator: (rule, value, callback) => {
@@ -750,22 +753,22 @@ export default {
                 ]
                 ]
             },
             },
             typeOptions: [
             typeOptions: [
-                { label: '默认', value: 'DEFAULT' },
-                { label: '盲盒', value: 'BLIND_BOX' },
-                { label: '拍卖', value: 'AUCTION' }
+                {label: '默认', value: 'DEFAULT'},
+                {label: '盲盒', value: 'BLIND_BOX'},
+                {label: '拍卖', value: 'AUCTION'}
             ],
             ],
             sourceOptions: [
             sourceOptions: [
-                { label: '官方', value: 'OFFICIAL' },
-                { label: '用户铸造', value: 'USER' },
-                { label: '转让', value: 'TRANSFER' }
+                {label: '官方', value: 'OFFICIAL'},
+                {label: '用户铸造', value: 'USER'},
+                {label: '转让', value: 'TRANSFER'}
             ],
             ],
             collections: [],
             collections: [],
             showAddItemDialog: false,
             showAddItemDialog: false,
             blindBoxItems: [],
             blindBoxItems: [],
             addItemForm: {},
             addItemForm: {},
             addItemFormRules: {
             addItemFormRules: {
-                id: [{ required: true, message: '请选择作品' }],
-                total: [{ required: true, message: '请输入数量' }]
+                id: [{required: true, message: '请选择作品'}],
+                total: [{required: true, message: '请输入数量'}]
             },
             },
             cateogories: ['勋章', '收藏品', '数字艺术', '门票', '游戏', '音乐', '使用', '其他'],
             cateogories: ['勋章', '收藏品', '数字艺术', '门票', '游戏', '音乐', '使用', '其他'],
             customUrl: resolveUrl(this.$baseUrl, 'upload/3dModel'),
             customUrl: resolveUrl(this.$baseUrl, 'upload/3dModel'),
@@ -773,8 +776,8 @@ export default {
             showPrivilegeEditDialog: false,
             showPrivilegeEditDialog: false,
             privilegeForm: {},
             privilegeForm: {},
             privelegeRules: {
             privelegeRules: {
-                detail: [{ required: true, message: '请填写内容' }],
-                remark: [{ required: true, message: '请填写说明' }]
+                detail: [{required: true, message: '请填写内容'}],
+                remark: [{required: true, message: '请填写说明'}]
             },
             },
             editQuota: true
             editQuota: true
         };
         };
@@ -796,7 +799,7 @@ export default {
             if (this.formData.id) {
             if (this.formData.id) {
                 this.saving = true;
                 this.saving = true;
                 this.$http
                 this.$http
-                    .post('/collection/save', this.formData, { body: 'json' })
+                    .post('/collection/save', this.formData, {body: 'json'})
                     .then(res => {
                     .then(res => {
                         this.saving = false;
                         this.saving = false;
                         this.$message.success('成功');
                         this.$message.success('成功');
@@ -808,11 +811,11 @@ export default {
                         this.$message.error(e.error);
                         this.$message.error(e.error);
                     });
                     });
             } else {
             } else {
-                let data = { blindBox: { ...this.formData }, items: this.blindBoxItems };
+                let data = {blindBox: {...this.formData}, items: this.blindBoxItems};
 
 
                 this.saving = true;
                 this.saving = true;
                 this.$http
                 this.$http
-                    .post('/collection/createBlindBox', data, { body: 'json' })
+                    .post('/collection/createBlindBox', data, {body: 'json'})
                     .then(res => {
                     .then(res => {
                         this.saving = false;
                         this.saving = false;
                         this.$message.success('成功');
                         this.$message.success('成功');
@@ -826,7 +829,7 @@ export default {
             }
             }
         },
         },
         onDelete() {
         onDelete() {
-            this.$confirm('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
+            this.$confirm('删除将无法恢复,确认要删除么?', '警告', {type: 'error'})
                 .then(() => {
                 .then(() => {
                     return this.$http.post(`/collection/del/${this.formData.id}`);
                     return this.$http.post(`/collection/del/${this.formData.id}`);
                 })
                 })
@@ -856,17 +859,18 @@ export default {
             this.formData.properties.splice(i, 1);
             this.formData.properties.splice(i, 1);
         },
         },
         addItem() {
         addItem() {
-            this.addItemForm = { rare: false };
+            this.addItemForm = {rare: false};
             this.showAddItemDialog = true;
             this.showAddItemDialog = true;
         },
         },
         onAddItem() {
         onAddItem() {
             this.$refs.addItemForm
             this.$refs.addItemForm
                 .validate()
                 .validate()
                 .then(_ => {
                 .then(_ => {
-                    this.blindBoxItems.push({ ...this.addItemForm });
+                    this.blindBoxItems.push({...this.addItemForm});
                     this.showAddItemDialog = false;
                     this.showAddItemDialog = false;
                 })
                 })
-                .catch(_ => {});
+                .catch(_ => {
+                });
         },
         },
         collectionNameFormatter(row, column, value, index) {
         collectionNameFormatter(row, column, value, index) {
             return (this.collections.find(i => i.id === value) || {}).name || '';
             return (this.collections.find(i => i.id === value) || {}).name || '';
@@ -875,7 +879,7 @@ export default {
             this.blindBoxItems.splice(i, 1);
             this.blindBoxItems.splice(i, 1);
         },
         },
         addPrivilege(row, i) {
         addPrivilege(row, i) {
-            this.privilegeForm = { ...row };
+            this.privilegeForm = {...row};
             this.showPrivilegeEditDialog = true;
             this.showPrivilegeEditDialog = true;
             if (this.$refs.privilegeForm) {
             if (this.$refs.privilegeForm) {
                 this.$nextTick(() => {
                 this.$nextTick(() => {
@@ -884,7 +888,7 @@ export default {
             }
             }
         },
         },
         editPrivilege(row, i) {
         editPrivilege(row, i) {
-            this.privilegeForm = { ...(this.formData.privileges.find(e => e.name === row.name) || {}) };
+            this.privilegeForm = {...(this.formData.privileges.find(e => e.name === row.name) || {})};
             this.showPrivilegeEditDialog = true;
             this.showPrivilegeEditDialog = true;
             if (this.$refs.privilegeForm) {
             if (this.$refs.privilegeForm) {
                 this.$nextTick(() => {
                 this.$nextTick(() => {
@@ -905,9 +909,9 @@ export default {
                 .then(() => {
                 .then(() => {
                     let i = this.formData.privileges.findIndex(e => e.name === this.privilegeForm.name);
                     let i = this.formData.privileges.findIndex(e => e.name === this.privilegeForm.name);
                     if (i > -1) {
                     if (i > -1) {
-                        this.$set(this.formData.privileges, i, { ...this.privilegeForm });
+                        this.$set(this.formData.privileges, i, {...this.privilegeForm});
                     } else {
                     } else {
-                        this.formData.privileges.push({ ...this.privilegeForm });
+                        this.formData.privileges.push({...this.privilegeForm});
                     }
                     }
                     let ii = this.privilegeOptions.findIndex(i => i.name === this.privilegeForm.name);
                     let ii = this.privilegeOptions.findIndex(i => i.name === this.privilegeForm.name);
                     console.log(ii);
                     console.log(ii);
@@ -945,6 +949,7 @@ export default {
     color: @text3;
     color: @text3;
     margin-top: 5px;
     margin-top: 5px;
 }
 }
+
 .inline-wrapper {
 .inline-wrapper {
     .el-form-item {
     .el-form-item {
         display: inline-block;
         display: inline-block;

+ 1 - 1
src/main/vue/src/views/CollectionEdit.vue

@@ -623,7 +623,7 @@ export default {
                             //     callback();
                             //     callback();
                             // }
                             // }
                             // } else {
                             // } else {
-                                callback();
+                            callback();
                             // }
                             // }
                         },
                         },
                         trigger: 'blur'
                         trigger: 'blur'