## v1.3.1 更新列表

1. 【修复】申请退款后积分等操作可能出现错误的问题
	2. 【修复】拼团支付可能出现支付错误的问题
	3. 【修复】退款申请后的订单流程优化和积分赠送的问题
	4. 【修复】回收站中的商品无法恢复的问题
	5. 【修复】一号通短信查询记录不完整的问题
	6. 【修复】用户管理批量加分组,标签的问题
	7. 【修复】积分日志搜索显示有误的问题
	8. 【修复】手动发送优惠券可能会出错的问题
	9. 【修复】核销订单创建在某种条件下会出错的问题
	10. 【修复】移动端商品详情,购物车等样式兼容问题
	11. 【修复】业务流程性的优化
This commit is contained in:
stivepeim
2021-01-19 10:16:45 +08:00
parent 92d6d60122
commit c7654e50b1
136 changed files with 19904 additions and 23329 deletions

View File

@@ -146,7 +146,7 @@
:modal="false"
class="taoBaoModal"
:before-close="handleClose">
<tao-bao v-if="dialogVisible" @handleClose="handleClose"></tao-bao>
<tao-bao v-if="dialogVisible" @handleCloseMod="handleCloseMod"></tao-bao>
</el-dialog>
</div>
</template>

View File

@@ -6,13 +6,12 @@
<script>
import categoryList from '@/components/Category/list'
import * as constants from '@/utils/constants.js'
export default {
// name: "list",
components: { categoryList },
data() {
return {
constants
constants: this.$constants
}
}
}

View File

@@ -17,6 +17,7 @@
</div>
</div>
<el-table
ref="table"
v-loading="listLoading"
:data="tableData.data"
style="width: 100%"
@@ -98,6 +99,9 @@ export default {
},
listLoading: true,
selectionList: [],
multipleSelectionAll: [],
idKey: 'id',
nextPageFlag: false,
keyNum: 0
}
},
@@ -111,11 +115,71 @@ export default {
},
handleSelectionChange(val) {
this.selectionList = val
const data = []
this.selectionList.map((item) => {
data.push(item.id)
setTimeout(() => {
this.changePageCoreRecordData()
}, 50)
},
// 设置选中的方法
setSelectRow() {
if (!this.multipleSelectionAll || this.multipleSelectionAll.length <= 0) {
return
}
// 标识当前行的唯一键的名称
const idKey = this.idKey
const selectAllIds = []
this.multipleSelectionAll.forEach(row => {
selectAllIds.push(row[idKey])
})
this.$refs.table.clearSelection()
for (var i = 0; i < this.tableData.data.length; i++) {
if (selectAllIds.indexOf(this.tableData.data[i][idKey]) >= 0) {
// 设置选中记住table组件需要使用ref="table"
this.$refs.table.toggleRowSelection(this.tableData.data[i], true)
}
}
},
// 记忆选择核心方法
changePageCoreRecordData() {
// 标识当前行的唯一键的名称
const idKey = this.idKey
const that = this
// 如果总记忆中还没有选择的数据,那么就直接取当前页选中的数据,不需要后面一系列计算
if (this.multipleSelectionAll.length <= 0) {
this.multipleSelectionAll = this.selectionList
return
}
// 总选择里面的key集合
const selectAllIds = []
this.multipleSelectionAll.forEach(row => {
selectAllIds.push(row[idKey])
})
const selectIds = []
// 获取当前页选中的id
this.selectionList.forEach(row => {
selectIds.push(row[idKey])
// 如果总选择里面不包含当前页选中的数据,那么就加入到总选择集合里
if (selectAllIds.indexOf(row[idKey]) < 0) {
that.multipleSelectionAll.push(row)
}
})
const noSelectIds = []
// 得到当前页没有选中的id
this.tableData.data.forEach(row => {
if (selectIds.indexOf(row[idKey]) < 0) {
noSelectIds.push(row[idKey])
}
})
noSelectIds.forEach(id => {
if (selectAllIds.indexOf(id) >= 0) {
for (let i = 0; i < that.multipleSelectionAll.length; i++) {
if (that.multipleSelectionAll[i][idKey] == id) {
// 如果总选择中有未被选中的,那么就删除这条
that.multipleSelectionAll.splice(i, 1)
break
}
}
}
})
this.ids = data.join(',')
},
add() {
const _this = this
@@ -133,16 +197,21 @@ export default {
for (var i = 0; i < list.length; i++) {
list[i].ruleValue = JSON.parse(list[i].ruleValue)
}
this.$nextTick(function() {
this.setSelectRow()// 调用跨页选中方法
})
this.listLoading = false
}).catch(() => {
this.listLoading = false
})
},
pageChange(page) {
this.changePageCoreRecordData()
this.tableFrom.page = page
this.getList()
},
handleSizeChange(val) {
this.changePageCoreRecordData()
this.tableFrom.limit = val
this.getList()
},
@@ -157,7 +226,12 @@ export default {
})
},
handleDeleteAll(){
if(!this.selectionList.length) return this.$message.warning('请选择商品规格')
if(!this.multipleSelectionAll.length) return this.$message.warning('请选择商品规格')
const data = []
this.multipleSelectionAll.map((item) => {
data.push(item.id)
})
this.ids = data.join(',')
this.$modalSure().then(() => {
attrDeleteApi( this.ids ).then(() => {
this.$message.success('删除成功')

View File

@@ -54,8 +54,8 @@
</div>
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="submitForm('formValidate')">立即创建</el-button>
<el-button size="mini" @click="resetForm('formValidate')">取消</el-button>
<el-button size="mini" type="primary" @click="submitForm('formValidate')" :loading="loadingbtn">提交</el-button>
<el-button size="mini" @click="resetForm('formValidate')">重置</el-button>
</el-form-item>
</el-form>
</template>
@@ -69,7 +69,8 @@
pics: '',
productId: '',
productScore: null,
serviceScore: null
serviceScore: null,
sku: ''
}
export default {
name: "creatComment",
@@ -95,6 +96,7 @@
}
};
return {
loadingbtn: false,
loading: false,
pics: [],
image: '',
@@ -138,6 +140,7 @@
this.$modalGoodList(function(row) {
_this.image = row.image
_this.formValidate.productId = row.id
_this.formValidate.sku = row.attrValue[0].suk
})
},
// 点击商品图
@@ -153,7 +156,8 @@
this.pics.splice(i, 1)
},
submitForm(formName) {
this.formValidate.pics = JSON.stringify(this.pics)
this.loadingbtn = true;
this.formValidate.pics = this.pics.length>0 ? JSON.stringify(this.pics) : ''
this.$refs[formName].validate((valid) => {
if (valid) {
replyCreatApi(this.formValidate).then(() => {
@@ -162,6 +166,9 @@
// this.clear();
this.$emit('getList');
}, 600);
this.loadingbtn = false;
}).catch(()=>{
this.loadingbtn = false;
})
} else {
return false;
@@ -170,7 +177,6 @@
},
resetForm(formName) {
this.$refs[formName].resetFields()
this.$msgbox.close()
this.pics=[]
this.formValidate.pics=''
},

View File

@@ -166,19 +166,7 @@ export default {
value: 'id',
emitPath: false
},
fromList: {
title: '选择时间',
custom: true,
fromTxt: [
{ text: '全部', val: '' },
{ text: '今天', val: 'today' },
{ text: '昨天', val: 'yesterday' },
{ text: '最近7天', val: 'lately7' },
{ text: '最近30天', val: 'lately30' },
{ text: '本月', val: 'month' },
{ text: '本年', val: 'year' }
]
},
fromList: this.$constants.fromList,
tableData: {
data: [],
total: 0
@@ -202,6 +190,12 @@ export default {
timer: ''
}
},
watch: {
$route(to, from) {
this.getList()
this.getCategorySelect()
}
},
mounted() {
// this.getLstFilterApi()
this.getList()

View File

@@ -477,6 +477,7 @@
ficti: res.ficti
}
if(this.formValidate.attr.length){
this.oneFormBatch[0].image = res.image
for (var i = 0; i < this.formValidate.attr.length; i++) {
this.formValidate.attr[i].attrValue = JSON.parse(this.formValidate.attr[i].attrValues)
}