Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | <FormItem label="用户昵称" prop="name"> |
| | | <Input v-model="form.nickName" style="width: 200px" /> |
| | | </FormItem> |
| | | <FormItem label="标签" prop="tags"> |
| | | <Select v-model="selectTagIds" multiple filterable :loading="selectLoading" style="width:200px;"> |
| | | <Option v-for="item in options" :key="item.id" :label="item.tagName" :value="item.id"></Option> |
| | | </Select> |
| | | </FormItem> |
| | | <FormItem label="性别" prop="sex"> |
| | | <RadioGroup type="button" button-style="solid" v-model="form.sex"> |
| | | <Radio :label="1"> |
| | |
| | | import * as API_Member from "@/api/member.js"; |
| | | import ossManage from "@/views/sys/oss-manage/ossManage"; |
| | | import * as RegExp from "@/libs/RegExp.js"; |
| | | import { getTags } from "@/api/tag.js"; |
| | | |
| | | export default { |
| | | name: "member", |
| | |
| | | descFlag: false, //编辑查看框 |
| | | loading: true, // 表单加载状态 |
| | | addFlag: false, // modal显隐控制 |
| | | |
| | | selectLoading: false, |
| | | options: [], |
| | | selectTagIds: [], |
| | | selectTags: [], |
| | | addMemberForm: { |
| | | // 添加用户表单 |
| | | mobile: "", |
| | |
| | | * 查询查看会员详情 |
| | | */ |
| | | getMemberInfo(id) { |
| | | var that = this; |
| | | API_Member.getMemberInfoData(id).then((res) => { |
| | | if (res.result) { |
| | | debugger |
| | | that.selectTags = [] |
| | | that.selectTagIds = [] |
| | | res.result.tags.forEach(element => { |
| | | that.selectTags.push(element.tagName) |
| | | that.selectTagIds.push(element.tagId) |
| | | }); |
| | | this.$set(this, "form", res.result); |
| | | } |
| | | }); |
| | |
| | | |
| | | // 提交修改数据 |
| | | handleSubmitModal() { |
| | | debugger |
| | | const { nickName, sex, username, face, newPassword,id,regionId,region } = this.form; |
| | | let time = new Date(this.form.birthday); |
| | | let birthday = this.form.birthday=== undefined?'': |
| | |
| | | id |
| | | }; |
| | | |
| | | submit.tags = this.selectTagIds |
| | | if (newPassword) { |
| | | submit.password = this.md5(newPassword); |
| | | } |
| | |
| | | } |
| | | }); |
| | | }, |
| | | selectTag(e) { |
| | | debugger |
| | | if (this.selectTagIds.indexOf(e.value) != -1) { |
| | | this.selectTagIds.splice(this.selectTagIds.indexOf(e.value), 1) |
| | | this.selectTags.splice(this.selectTags.indexOf(e.label), 1) |
| | | } |
| | | else { |
| | | this.selectTagIds.push(e.value) |
| | | this.selectTags.push(e.label) |
| | | } |
| | | console.log(this.selectTags); |
| | | |
| | | }, |
| | | remoteMethod(query) { |
| | | this.selectLoading = true; |
| | | var params = { |
| | | "tagTypeKey": "USER", |
| | | "pageNumber": 1, |
| | | "pageSize": 500 |
| | | } |
| | | getTags(params).then(res => { |
| | | this.options = res.data; |
| | | this.selectLoading = false; |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getData(); |
| | | this.remoteMethod("") |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | /deep/ .ivu-table-wrapper { |
| | | width: 100%; |
| | | } |
| | | |
| | | /deep/ .ivu-card { |
| | | width: 100%; |
| | | } |
| | | |
| | | .face { |
| | | width: 60px; |
| | | height: 60px; |
| | |
| | | return h("Tag", { props: { color: "orange" } }, "零售"); |
| | | } else if (params.row.salesModel === "WHOLESALE") { |
| | | return h("Tag", { props: { color: "magenta" } }, "批发"); |
| | | } else if (params.row.salesModel === "PRESALE") { |
| | | return h("Tag", { props: { color: "magenta" } }, "预售"); |
| | | } else { |
| | | return h("Tag", { props: { color: "volcano" } }, "其他类型"); |
| | | } |
| | |
| | | <FormItem label="商品价格" prop="price"> |
| | | <Input v-model="baseInfoForm.price" clearable placeholder="商品价格" style="width: 260px" type="text"/> |
| | | </FormItem> |
| | | |
| | | <FormItem label="抽成比例" prop="commission"> |
| | | <!-- <Input v-model="baseInfoForm.commission" max="100" min="0" clearable placeholder="抽成比例" style="width: 260px" type="number"/>--> |
| | | <InputNumber v-model="baseInfoForm.commission" :formatter="value => `${value}%`" |
| | | :parser="value => value.replace('%', '')" :max="100" :min="0" clearable |
| | | placeholder="抽成比例" style="width: 260px" type="number"/> |
| | | </FormItem> |
| | | |
| | | <FormItem label="商品卖点" prop="sellingPoint"> |
| | | <Input v-model="baseInfoForm.sellingPoint" :rows="4" style="width: 260px" type="textarea"/> |
| | | </FormItem> |
| | |
| | | <RadioGroup v-if="baseInfoForm.goodsType != 'VIRTUAL_GOODS'" v-model="baseInfoForm.salesModel" |
| | | button-style="solid" type="button" @on-change="renderTableData(skuTableData)"> |
| | | <Radio label="RETAIL" title="零售型">零售型</Radio> |
| | | <Radio label="WHOLESALE" title="批发型">批发型</Radio> |
| | | <!-- <Radio label="WHOLESALE" title="批发型">批发型</Radio>--> |
| | | <Radio label="PRESALE" title="预售">预售</Radio> |
| | | </RadioGroup> |
| | | <RadioGroup v-else v-model="baseInfoForm.salesModel" button-style="solid" type="button"> |
| | | <Radio label="RETAIL" title="零售型"> |
| | | <span>虚拟型</span> |
| | | </Radio> |
| | | </RadioGroup> |
| | | </FormItem> |
| | | <FormItem v-if="baseInfoForm.salesModel == 'PRESALE'"> |
| | | <div> |
| | | 预售时间: |
| | | <DatePicker type="daterange" v-model="baseInfoForm.preSaleTime" |
| | | format="yyyy-MM-dd" placement="bottom-end" placeholder="请选择预售时间" style="width: 200px" |
| | | @on-change="choosePreTime"></DatePicker> |
| | | </div> |
| | | </FormItem> |
| | | <FormItem v-if="baseInfoForm.salesModel == 'WHOLESALE'" class="form-item-view-el" label="销售规则" |
| | | prop="wholesaleRule"> |
| | |
| | | import COS from 'cos-js-sdk-v5'; |
| | | import {getFileKey} from "@/utils/file.js"; |
| | | import {getFilePreview, getSts} from "@/api/file"; |
| | | import {formatDate} from "@/utils/filters"; |
| | | |
| | | |
| | | export default { |
| | |
| | | categoryName: [], |
| | | goodsVideo: "", |
| | | showGoodsVideo: "", |
| | | // 预售时间 |
| | | preSaleTime:[], |
| | | preSaleBeginDate:'', |
| | | preSaleEndDate:'', |
| | | }, |
| | | /** 表格头 */ |
| | | skuTableColumn: [], |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | // 格式化显示值 |
| | | formatter(date) { |
| | | return this.formatDate(date, 'yyyy-MM-dd'); |
| | | }, |
| | | |
| | | // 日期格式化工具 |
| | | formatDate(date, format) { |
| | | const year = date.getFullYear(); |
| | | const month = (date.getMonth() + 1).toString().padStart(2, '0'); |
| | | const day = date.getDate().toString().padStart(2, '0'); |
| | | |
| | | return format |
| | | .replace('yyyy', year) |
| | | .replace('MM', month) |
| | | .replace('dd', day); |
| | | }, |
| | | choosePreTime(e){ |
| | | if (this.baseInfoForm.preSaleTime){ |
| | | const[begin,end] = this.baseInfoForm.preSaleTime; |
| | | this.baseInfoForm.preSaleBeginDate = this.formatDate(begin,'yyyy-MM-dd'); |
| | | this.baseInfoForm.preSaleEndDate = this.formatDate(end,'yyyy-MM-dd'); |
| | | console.log('------------------>选择时间',this.baseInfoForm.preSaleBeginDate,this.baseInfoForm.preSaleEndDate) |
| | | |
| | | } |
| | | console.log('时间选择------------------》',e) |
| | | }, |
| | | // 选择图片modal |
| | | handleCLickImg(val, index) { |
| | | console.log('测试输入的值----------------》', val) |
| | |
| | | response.result.recommend |
| | | ? (response.result.recommend = 1) |
| | | : (response.result.recommend = 0); |
| | | response.result.preSaleTime = [response.result.preSaleBeginDate, response.result.preSaleEndDate]; |
| | | this.baseInfoForm = {...this.baseInfoForm, ...response.result}; |
| | | this.baseInfoForm.release = 1; //即使是被放入仓库,修改的时候也会显示会立即发布 |
| | | this.categoryId = response.result.categoryPath.split(",")[2]; |
| | |
| | | * 渲染table所需要的column 和 data |
| | | */ |
| | | renderTableData(skus) { |
| | | console.log('-------------->销售类型',skus) |
| | | this.skuTableColumn = []; |
| | | let pushData = []; |
| | | // 渲染头部 |
| | |
| | | } |
| | | ); |
| | | } |
| | | |
| | | // 预售模式 |
| | | if (this.baseInfoForm.salesModel !== "PRESALE") { |
| | | pushData.push( |
| | | { |
| | | title: "预售时间", |
| | | slot: "price", |
| | | } |
| | | ); |
| | | } |
| | | if (this.baseInfoForm.salesModel === "WHOLESALE" && this.wholesaleData) { |
| | | this.wholesaleData.forEach((item, index) => { |
| | | pushData.push({ |