e 3 years ago
commit 70695c97f0
  1. 10
      src/components/Sidebar.vue
  2. 65
      src/views/data/Framework.vue
  3. 57
      src/views/data/Product.vue
  4. 2
      src/views/order/selectClient.vue

@ -75,11 +75,11 @@ export default {
// index: 'configure', // index: 'configure',
// title: '' // title: ''
// }, // },
{ // {
icon: 'el-icon-document-checked', // icon: 'el-icon-document-checked',
index: 'curriculum', // index: 'curriculum',
title: '课程管理' // title: ''
}, // },
{ {
icon: 'el-icon-notebook-2', icon: 'el-icon-notebook-2',
index: 'data', index: 'data',

@ -124,7 +124,7 @@ export default {
total: 0, total: 0,
multipleSelection: [], multipleSelection: [],
importTypeList: [], importTypeList: [],
importTypeIndex: 10000, importTypeIndex: 100000,
fieldData: [], fieldData: [],
fieldHead: [], fieldHead: [],
tableName: '', tableName: '',
@ -138,6 +138,8 @@ export default {
previewHead: [], previewHead: [],
previewData: [], previewData: [],
submited: false, submited: false,
names: [],
showNames: []
}; };
}, },
watch: { watch: {
@ -216,6 +218,8 @@ export default {
}).catch(() => {}) }).catch(() => {})
}, },
confirmType(){ confirmType(){
if(this.submited) return false
this.submited = true
if(this.id){ if(this.id){
this.$post(this.api.updateCategory,{ this.$post(this.api.updateCategory,{
id: this.id, id: this.id,
@ -224,7 +228,12 @@ export default {
this.$message.success('编辑成功') this.$message.success('编辑成功')
this.getType() this.getType()
this.typeVisible = false this.typeVisible = false
}).catch(res => {}) setTimeout(() => {
this.submited = false
},1500)
}).catch(res => {
this.submited = false
})
}else{ }else{
this.$post(this.api.saveCategory,{ this.$post(this.api.saveCategory,{
levelId: this.levelId, levelId: this.levelId,
@ -233,7 +242,12 @@ export default {
this.$message.success('添加成功') this.$message.success('添加成功')
this.getType() this.getType()
this.typeVisible = false this.typeVisible = false
}).catch(res => {}) setTimeout(() => {
this.submited = false
},1500)
}).catch(res => {
this.submited = false
})
} }
}, },
closeType(){ closeType(){
@ -321,7 +335,7 @@ export default {
},50) },50)
}, },
getTable(n,isConcat){ getTable(n,isConcat){
this.$post(`${this.api.originalListById}?categoryId=${n.realId}&pageNum=${n.typeTreePage}&pageSize=${this.typeTreeUnit}`).then(res => { this.$post(`${this.api.originalListById}?categoryId=${n.realId}&pageNum=${n.typeTreePage ? n.typeTreePage : 1}&pageSize=${this.typeTreeUnit}`).then(res => {
let list = res.list.records let list = res.list.records
list.map(n => { list.map(n => {
n.label = n.showName n.label = n.showName
@ -331,11 +345,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,18 +435,43 @@ 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()
}
})
})
},
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('请选择数据') if(!names.length) return this.$message.warning('请选择数据')
this.submited = true this.submited = true
@ -454,6 +494,7 @@ export default {
}).catch(res => { }).catch(res => {
this.submited = false 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: [],
@ -210,7 +211,8 @@ export default {
listConfigAll: [], listConfigAll: [],
previewVisible: false, previewVisible: false,
previewHead: [], previewHead: [],
previewData: [] previewData: [],
submited: false,
}; };
}, },
watch: { watch: {
@ -266,11 +268,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,18 +461,45 @@ 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.submited) return false
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.submited = true
if(n.name) tableId.push(n.id)
}) this.getIds().then(() => {
let tableId = Array.from(new Set(this.tableId))
if(!tableId.length) return this.$message.warning('请选择数据') if(!tableId.length) return this.$message.warning('请选择数据')
let data = { let data = {
id: this.id, id: this.id,
@ -489,14 +519,21 @@ export default {
this.$message.success('新增成功') this.$message.success('新增成功')
this.productVisible = false this.productVisible = false
this.getData() this.getData()
}).catch(res => {}) this.submited = false
}).catch(res => {
this.submited = false
})
}else{ }else{
this.$post(this.api.saveProduct,data).then(res => { this.$post(this.api.saveProduct,data).then(res => {
this.$message.success('新增成功') this.$message.success('新增成功')
this.productVisible = false this.productVisible = false
this.getData() this.getData()
}).catch(res => {}) this.submited = false
}).catch(res => {
this.submited = false
})
} }
})
}, },
configData(){ configData(){

@ -46,7 +46,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item> <el-form-item>
<el-input placeholder="请输入客户名称/管理员姓名/电话" @clear="clearSearch" @keyup.enter.native="getData" prefix-icon="el-icon-search" v-model="form.keyword" clearable></el-input> <el-input placeholder="请输入客户名称/联系人姓名/电话" @clear="clearSearch" @keyup.enter.native="getData" prefix-icon="el-icon-search" v-model="form.keyword" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form> </el-form>

Loading…
Cancel
Save