|
|
@@ -12,61 +12,76 @@
|
|
|
<el-form :model="formData" :rules="rules" ref="form" label-width="156px" label-position="right"
|
|
|
size="small"
|
|
|
style="max-width: 500px;">
|
|
|
- <el-form-item prop="name" label="拍卖名称">
|
|
|
- <el-input v-model="formData.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="auctionType" label="拍卖类型">
|
|
|
- <el-input-number type="number" v-model="formData.auctionType"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="minter" label="铸造者">
|
|
|
- <el-input v-model="formData.minter"></el-input>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item prop="name" label="名称">
|
|
|
+ <el-input v-model="formData.name" style="width: 500px"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="pic" label="图片">
|
|
|
+ <object-upload
|
|
|
+ v-model="formData.pic[0]"
|
|
|
+ compress
|
|
|
+ width="3000"
|
|
|
+ height="3000"
|
|
|
+ ></object-upload>
|
|
|
+ <div class="tip">支持JPG、PNG、GIF、MP4,推荐长宽比1:1</div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="model3d" label="3D模型">
|
|
|
+ <model-upload
|
|
|
+ :limit="1"
|
|
|
+ v-model="formData.model3d"
|
|
|
+ :customUrl="customUrl"
|
|
|
+ accept="application/zip"
|
|
|
+ format="json"
|
|
|
+ single
|
|
|
+ ></model-upload>
|
|
|
+ <div class="tip">请将FBX文件与贴图打包成zip压缩包上传</div>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="相机距离" v-if="formData.model3d">-->
|
|
|
+ <!-- <el-input-number v-model="scale" :min="0.1" :step="0.1"></el-input-number>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="Y轴偏移" v-if="formData.model3d">-->
|
|
|
+ <!-- <el-input-number v-model="yOffset"></el-input-number>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <div class="inline-wrapper">
|
|
|
<el-form-item prop="minterId" label="铸造者">
|
|
|
- <el-input v-model="formData.minterId"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="assetId" label="藏品ID">
|
|
|
- <el-input-number type="number" v-model="formData.assetId"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="pic" label="图片">
|
|
|
- <el-input v-model="formData.pic"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="model3d" label="model3d">
|
|
|
- <el-input v-model="formData.model3d"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="detail" label="详情">
|
|
|
- <el-input v-model="formData.detail"></el-input>
|
|
|
+ <minter-select
|
|
|
+ v-model="formData.minterId"
|
|
|
+ @detail="onMinterDetail"
|
|
|
+ ></minter-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="category" label="分类">
|
|
|
- <el-input v-model="formData.category"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="fixedPrice" label="一口价">
|
|
|
- <el-input-number type="number" v-model="formData.fixedPrice"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="startTime" label="开始时间">
|
|
|
- <el-date-picker
|
|
|
- v-model="formData.startTime"
|
|
|
- type="datetime"
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- placeholder="选择日期时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="currentPrice" label="currentPrice">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="currentOwner" label="currentOwner">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="currentOwnerId" label="currentOwnerId">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="currentOwnerAvatar" label="currentOwnerAvatar">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="currentEndTime" label="currentEndTime">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="status" label="拍卖状态">
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="stock" label="stock">
|
|
|
- <el-input-number type="number" v-model="formData.stock"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="sale" label="sale">
|
|
|
- </el-form-item>
|
|
|
+ <el-select v-model="formData.category">
|
|
|
+ <el-option
|
|
|
+ v-for="item in cateogories"
|
|
|
+ :label="item"
|
|
|
+ :value="item"
|
|
|
+ :key="item"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <el-form-item prop="detail" label="详情" style="width: calc(100vw - 450px)">
|
|
|
+ <rich-text v-model="formData.detail"></rich-text>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="category" label="分类">
|
|
|
+ <el-input v-model="formData.category"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="price" label="起拍价">
|
|
|
+ <el-input-number type="number" v-model="formData.price"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="startTime" label="开始时间">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="formData.startTime"
|
|
|
+ type="datetime"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择日期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="minutes" label="间隔时间(分钟)">
|
|
|
+ <el-input-number type="number" v-model="formData.minutes"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="price" label="起拍价">
|
|
|
+ <el-input-number type="number" v-model="formData.price"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item class="form-submit">
|
|
|
<el-button @click="onSave" :loading="saving" type="primary">
|
|
|
保存
|
|
|
@@ -82,72 +97,87 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
- export default {
|
|
|
- name: 'TradeAuctionEdit',
|
|
|
- created() {
|
|
|
- if (this.$route.query.id) {
|
|
|
- this.$http
|
|
|
- .get('tradeAuction/get/' + this.$route.query.id)
|
|
|
- .then(res => {
|
|
|
- this.formData = res;
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- console.log(e);
|
|
|
- this.$message.error(e.error);
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- saving: false,
|
|
|
- formData: {
|
|
|
- },
|
|
|
- rules: {
|
|
|
- },
|
|
|
- statusOptions: [{"label":"未开始","value":"NOTSTARTED"},{"label":"进行中","value":"ONGOING"},{"label":"成熟","value":"PURCHASED"},{"label":"一口价成交","value":"FIXED_PRICE_PURCHASED"},{"label":"流拍","value":"PASS"},{"label":"完成","value":"FINISH"}],
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- onSave() {
|
|
|
- this.$refs.form.validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.submit();
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
+import resolveUrl from "resolve-url";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'TradeAuctionEdit',
|
|
|
+ created() {
|
|
|
+ if (this.$route.query.id) {
|
|
|
+ this.$http
|
|
|
+ .get('tradeAuction/get/' + this.$route.query.id)
|
|
|
+ .then(res => {
|
|
|
+ this.formData = res;
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error(e.error);
|
|
|
});
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ saving: false,
|
|
|
+ customUrl: resolveUrl(this.$baseUrl, 'upload/3dModel'),
|
|
|
+ formData: {
|
|
|
+ pic: [],
|
|
|
},
|
|
|
- submit() {
|
|
|
- let data = {...this.formData};
|
|
|
+ rules: {},
|
|
|
+ cateogories: ['勋章', '收藏品', '数字艺术', '门票', '游戏', '音乐', '使用', '其他'],
|
|
|
+ statusOptions: [{"label": "未开始", "value": "NOTSTARTED"}, {
|
|
|
+ "label": "进行中",
|
|
|
+ "value": "ONGOING"
|
|
|
+ }, {"label": "成熟", "value": "PURCHASED"}, {
|
|
|
+ "label": "一口价成交",
|
|
|
+ "value": "FIXED_PRICE_PURCHASED"
|
|
|
+ }, {"label": "流拍", "value": "PASS"}, {"label": "完成", "value": "FINISH"}],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ onMinterDetail(e) {
|
|
|
+ console.log(e);
|
|
|
+ this.$set(this.formData, 'minter', e.nickname);
|
|
|
+ this.$set(this.formData, 'minterAvatar', e.avatar);
|
|
|
+ },
|
|
|
+ onSave() {
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.submit();
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ submit() {
|
|
|
+ let data = {...this.formData};
|
|
|
|
|
|
- this.saving = true;
|
|
|
- this.$http
|
|
|
- .post('/tradeAuction/save', data, {body: 'json'})
|
|
|
- .then(res => {
|
|
|
- this.saving = false;
|
|
|
- this.$message.success('成功');
|
|
|
- this.$router.go(-1);
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- console.log(e);
|
|
|
- this.saving = false;
|
|
|
- this.$message.error(e.error);
|
|
|
- });
|
|
|
- },
|
|
|
- onDelete() {
|
|
|
- this.$confirm('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
|
|
|
- return this.$http.post(`/tradeAuction/del/${this.formData.id}`)
|
|
|
- }).then(() => {
|
|
|
- this.$message.success('删除成功');
|
|
|
+ this.saving = true;
|
|
|
+ this.$http
|
|
|
+ .post('/tradeAuction/save', data, {body: 'json'})
|
|
|
+ .then(res => {
|
|
|
+ this.saving = false;
|
|
|
+ this.$message.success('成功');
|
|
|
this.$router.go(-1);
|
|
|
- }).catch(e => {
|
|
|
- if (e !== 'cancel') {
|
|
|
- console.log(e);
|
|
|
- this.$message.error((e || {}).error || '删除失败');
|
|
|
- }
|
|
|
})
|
|
|
- },
|
|
|
- }
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.saving = false;
|
|
|
+ this.$message.error(e.error);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onDelete() {
|
|
|
+ this.$confirm('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
|
|
|
+ return this.$http.post(`/tradeAuction/del/${this.formData.id}`)
|
|
|
+ }).then(() => {
|
|
|
+ this.$message.success('删除成功');
|
|
|
+ this.$router.go(-1);
|
|
|
+ }).catch(e => {
|
|
|
+ if (e !== 'cancel') {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error((e || {}).error || '删除失败');
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
<style lang="less" scoped></style>
|