A股数据优化

dev
yujialong 3 years ago
parent 9fa6635b39
commit d4fdb02a15
  1. 85
      src/views/data/Framework.vue
  2. 93
      src/views/data/Product.vue

@ -138,6 +138,8 @@ export default {
previewHead: [], previewHead: [],
previewData: [], previewData: [],
submited: false, submited: false,
names: [],
showNames: []
}; };
}, },
watch: { watch: {
@ -331,11 +333,12 @@ export default {
} }
}) })
if(isConcat){ if(isConcat){
n.typeTreePage++
n.children = n.children.concat(list) n.children = n.children.concat(list)
}else{ }else{
n.children = list n.children = list
n.tableLen = res.list.total
} }
n.typeTreePage++
}).catch(res => {}) }).catch(res => {})
}, },
batchImport(){ batchImport(){
@ -420,39 +423,65 @@ export default {
}, },
closeImport(){ closeImport(){
this.$refs.typeTree.setCheckedKeys([]) this.$refs.typeTree.setCheckedKeys([])
this.names = []
this.showNames = []
}, },
confirmImport(){ getNames(){
if(this.submited) return false
let list = this.$refs.typeTree.getCheckedNodes() let list = this.$refs.typeTree.getCheckedNodes()
let names = [] return new Promise((resolve,reject) => {
let showNames = [] let getLen = 0
list.map(n => { list.map(n => {
if(n.name && !n.disabled){ if(n.tableLen && n.tableLen > n.children.length) getLen++
names.push(n.name) })
showNames.push(n.showName) list.map((n,i) => {
} if(n.tableLen && n.tableLen > n.children.length){
this.$post(`${this.api.originalListById}?categoryId=${n.realId}&pageNum=1&pageSize=10000`).then(res => {
let tableList = res.list.records
getLen--
tableList.map(n => {
if(!this.defaultTypeChecked.includes(String(n.id))){
this.names.push(n.name)
this.showNames.push(n.showName)
}
})
if(!getLen) resolve()
}).catch(res => {})
}else if(n.name && !n.disabled && !this.names.includes(n.name)){
this.names.push(n.name)
this.showNames.push(n.showName)
if(!getLen) resolve()
}
})
}) })
if(!names.length) return this.$message.warning('请选择数据') },
confirmImport(){
if(this.submited) return false
if(!this.$refs.typeTree.getCheckedNodes().length) return this.$message.warning('请选择数据')
this.getNames().then(() => {
let names = Array.from(new Set(this.names))
let showNames = Array.from(new Set(this.showNames))
if(!names.length) return this.$message.warning('请选择数据')
this.submited = true this.submited = true
let data = [] let data = []
let categoryId = Number(this.categoryId) let categoryId = Number(this.categoryId)
names.map((n,i) => { names.map((n,i) => {
data.push({ data.push({
categoryId, categoryId,
name: n, name: n,
showName: showNames[i], showName: showNames[i],
})
}) })
}) this.$post(this.api.saveTable,data).then(res => {
this.$post(this.api.saveTable,data).then(res => { this.$message.success('导入成功')
this.$message.success('导入成功') this.getData()
this.getData() this.importVisible = false
this.importVisible = false setTimeout(() => {
setTimeout(() => { this.submited = false
},1000)
}).catch(res => {
this.submited = false this.submited = false
},1000) })
}).catch(res => {
this.submited = false
}) })
}, },
} }

@ -194,6 +194,7 @@ export default {
typeUnit: 20, typeUnit: 20,
typeScrollTop: 0, typeScrollTop: 0,
typeTimer: null, typeTimer: null,
tableId: [],
configVisible: false, configVisible: false,
configChecked: [], configChecked: [],
@ -266,11 +267,12 @@ export default {
n.id = String(n.id) n.id = String(n.id)
}) })
if(isConcat){ if(isConcat){
n.typePage++
n.children = n.children.concat(list) n.children = n.children.concat(list)
}else{ }else{
n.children = list n.children = list
n.tableLen = res.pageList.total
} }
n.typePage++
}).catch(res => {}) }).catch(res => {})
}, },
getType(){ getType(){
@ -458,45 +460,70 @@ export default {
this.productName = '' this.productName = ''
this.market = '' this.market = ''
this.isDetail = false this.isDetail = false
this.typeIndex = 1000 this.typeIndex = 100000
this.typeList = [] this.typeList = []
this.tableId = []
},
getIds(){
let list = this.$refs.type.getCheckedNodes()
return new Promise((resolve,reject) => {
let getLen = 0
list.map(n => {
if(n.tableLen && n.tableLen > n.children.length) getLen++
})
list.map((n,i) => {
if(n.tableLen && n.tableLen > n.children.length){
this.$post(`${this.api.getIdQueryTable}?categoryId=${n.originId}&showName=&pageNum=1&pageSize=10000&updateTime=`).then(res => {
let tableList = res.pageList.records
tableList.map(n => {
this.tableId.push(String(n.id))
})
getLen--
if(!getLen) resolve()
}).catch(res => {})
}else if(n.name && !this.tableId.includes(n.id)){
this.tableId.push(n.id)
if(!getLen) resolve()
}
})
})
}, },
confirm(){ confirm(){
if(!this.productName) return this.$message.warning('请输入数据产品名称') if(!this.productName) return this.$message.warning('请输入数据产品名称')
if(!this.market) return this.$message.warning('请输入市场价格') if(!this.market) return this.$message.warning('请输入市场价格')
if(isNaN(this.market)) return this.$message.warning('市场价格请输入数字') if(isNaN(this.market)) return this.$message.warning('市场价格请输入数字')
let list = this.$refs.type.getCheckedNodes() if(!this.$refs.type.getCheckedNodes().length) return this.$message.warning('请选择数据')
let tableId = []
list.map(n => { this.getIds().then(() => {
if(n.name) tableId.push(n.id) let tableId = Array.from(new Set(this.tableId))
if(!tableId.length) return this.$message.warning('请选择数据')
let data = {
id: this.id,
productName: this.productName,
market: this.market,
tableId: tableId.join(),
userId: this.userId,
userName: this.userName,
createTime: '',
orderNum: '',
status: '',
tableNum: tableId.length,
updateTime: '',
}
if(this.id){
this.$post(this.api.updateProduct,data).then(res => {
this.$message.success('新增成功')
this.productVisible = false
this.getData()
}).catch(res => {})
}else{
this.$post(this.api.saveProduct,data).then(res => {
this.$message.success('新增成功')
this.productVisible = false
this.getData()
}).catch(res => {})
}
}) })
if(!tableId.length) return this.$message.warning('请选择数据')
let data = {
id: this.id,
productName: this.productName,
market: this.market,
tableId: tableId.join(),
userId: this.userId,
userName: this.userName,
createTime: '',
orderNum: '',
status: '',
tableNum: tableId.length,
updateTime: '',
}
if(this.id){
this.$post(this.api.updateProduct,data).then(res => {
this.$message.success('新增成功')
this.productVisible = false
this.getData()
}).catch(res => {})
}else{
this.$post(this.api.saveProduct,data).then(res => {
this.$message.success('新增成功')
this.productVisible = false
this.getData()
}).catch(res => {})
}
}, },
configData(){ configData(){

Loading…
Cancel
Save