修改添加放号记录传值

main
jinna 3 years ago
parent d07377eade
commit 178c7ed7aa
  1. 323
      src/views/booknumber/index.vue

@ -6,13 +6,13 @@
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad"> @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
<template slot-scope="{row}" slot="num"> <template slot-scope="{row}" slot="num">
<div v-for="item1 in row.detailList.map(item => item.period + item.timeFrame)" :key="item1">{{item1}}</div> <div v-for="item1 in row.detailList.map(item => item.period + item.timeFrame)" >{{item1}}</div>
</template> </template>
<template slot-scope="{row}" slot="count"> <template slot-scope="{row}" slot="count">
<div v-for="item1 in row.detailList.map(item => item.numberNum)" :key="item1">{{item1}}</div> <div v-for="item2 in row.detailList.map(item1 => item1.numberNum)" >{{item2}}</div>
</template> </template>
<template slot-scope="{row}" slot="people"> <template slot-scope="{row}" slot="people">
<div :class="row.detailList.find(item => item.numberNum == item1) ? 'cla' :''" v-for="item1 in row.detailList.map(item => item.apmNum)" :key="item1">{{item1}}</div> <div :class="row.detailList.find(item => item.numberNum == item.apmNum) ? 'cla' :''" v-for="item1 in row.detailList.map(item => item.apmNum)" >{{item1}}</div>
</template> </template>
<template slot-scope="{row}" slot="menu"> <template slot-scope="{row}" slot="menu">
<el-button @click="handleRegister(row)">修改</el-button> <el-button @click="handleRegister(row)">修改</el-button>
@ -27,14 +27,15 @@
:visible.sync="isNumber" :visible.sync="isNumber"
:append-to-body="true" :append-to-body="true"
@close="closeDraw" @close="closeDraw"
custom-class="number_box"> custom-class="number_box"
>
<div slot="title" class="title_box"> <div slot="title" class="title_box">
<div class="title_txt"> <div class="title_txt">
<div class="txt">{{title}}</div> <div class="txt">{{title}}</div>
</div> </div>
<div class="sub_txt">{{subtitle}}</div> <div class="sub_txt">{{subtitle}}</div>
</div> </div>
<div class="tab_box" v-show="isShow"> <div class="tab_box" v-if="isShow">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :label="item.dictValue" :name="item.dictValue" v-for="item in tabArr" :key="item.dictValue"> <el-tab-pane :label="item.dictValue" :name="item.dictValue" v-for="item in tabArr" :key="item.dictValue">
<div class="form_box"> <div class="form_box">
@ -104,7 +105,6 @@ export default {
border: true, border: true,
index: true, index: true,
viewBtn: false, viewBtn: false,
border:false,
editBtn:false, editBtn:false,
delBtn:false, delBtn:false,
addBtn:false, addBtn:false,
@ -127,17 +127,29 @@ export default {
return `<div>${value.apmDay.substring(0, 10)}</div>` return `<div>${value.apmDay.substring(0, 10)}</div>`
} }
}, },
// {
// label: "",
// prop: "releaseTime",
// type: "date",
// format: "yyyy-MM-dd",
// valueFormat: "yyyy-MM-dd",
// search: true,
// viewDisplay:false,
// hide:true,
// searchValue:new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()),
// searchClearable:false
// },
{ {
label: "日期", label: "日期",
prop: "releaseTime", prop: "releaseTime",
type: "date", type: "daterange",
format: "yyyy-MM-dd", format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd", valueFormat: "yyyy-MM-dd",
searchRange: true,
search: true, search: true,
viewDisplay:false, hide: true,
hide:true, startPlaceholder: '开始日期',
searchValue:new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()), endPlaceholder: '结束日期',
searchClearable:false
}, },
{ {
label:'医院', label:'医院',
@ -170,7 +182,8 @@ export default {
{ {
label:'放号时段', label:'放号时段',
prop:"num", prop:"num",
slot:true slot:true,
overHidden:true
}, },
{ {
label: "号源数量", label: "号源数量",
@ -264,7 +277,7 @@ export default {
prop:'num', prop:'num',
controlsPosition:'', controlsPosition:'',
type:'number', type:'number',
min:1, min:0,
max:20, max:20,
span:10, span:10,
rules: [ rules: [
@ -308,7 +321,7 @@ export default {
prop:'num', prop:'num',
controlsPosition:'', controlsPosition:'',
type:'number', type:'number',
min:1, min:0,
max:20, max:20,
span:10, span:10,
rules: [ rules: [
@ -369,6 +382,10 @@ export default {
}, },
beforeOpen(done, type) { beforeOpen(done, type) {
done(); done();
},
searchReset() {
this.query = {};
this.onLoad(this.page);
}, },
// //
addNumber(){ addNumber(){
@ -380,37 +397,37 @@ export default {
addData: [ addData: [
{ {
timerange: '08:00am,08:30am', timerange: '08:00am,08:30am',
num: 1 num: 0
}, },
{ {
timerange: '08:30am,09:00am', timerange: '08:30am,09:00am',
num: 1 num: 0
}, },
{ {
timerange: '09:00am,09:30am', timerange: '09:00am,09:30am',
num: 1 num: 0
}, },
{ {
timerange: '09:30am,10:00am', timerange: '09:30am,10:00am',
num: 1 num: 0
} }
], ],
addData1: [ addData1: [
{ {
timerange: '13:00,13:30', timerange: '13:00,13:30',
num: 1 num: 0
}, },
{ {
timerange: '13:30,14:00', timerange: '13:30,14:00',
num: 1 num: 0
}, },
{ {
timerange: '14:00,14:30', timerange: '14:00,14:30',
num: 1 num: 0
}, },
{ {
timerange: '14:30,15:00', timerange: '14:30,15:00',
num: 1 num: 0
} }
], ],
select:'' select:''
@ -440,96 +457,150 @@ export default {
} }
this.dayArr.push(row.apmDay.substr(0,10)) this.dayArr.push(row.apmDay.substr(0,10))
examProjectDetail(values).then(res =>{ examProjectDetail(values).then(res =>{
console.log(res.data.data)
let data = res.data.data; let data = res.data.data;
this.isNumber = true; this.isNumber = true;
this.isShow = true; this.isShow = true;
this.activeName = data[0].project; this.activeName = data[0].project;
let val = this.tabArr.find(item => item.dictValue == this.activeName); // let val = this.tabArr.find(item => item.dictValue == this.activeName);
if(this.userInfo.role_name !== 'hospital'){ this.tabArr.map(item => {
val.addOption.column.find(item => item.prop == "select").display = true; if(this.userInfo.role_name !== 'hospital'){
this.selectDay = new Date().getTime(); item.addOption.column.find(item => item.prop == "select").display = true;
}else{ this.selectDay = new Date().getTime();
this.selectDay = new Date().getTime() + 3600 * 1000 * 24 * 7;
val.addOption.column.find(item => item.prop == "select").display = false
}
val.addForm.addData = [];
val.addForm.addData1 = [];
data[0].createDept = "1623571646250143746"
val.addForm.select = data[0].createDept
console.log(val)
data.map(item =>{
if(item.period == '上午'){
item.timeFrame = item.timeFrame.replace('-','am,').concat('am')
val.addForm.addData.push({
num:item.numberNum,
timerange:item.timeFrame
})
}else{ }else{
let index = item.timeFrame.indexOf(":"); this.selectDay = new Date().getTime() + 3600 * 1000 * 24 * 7;
let index1 = item.timeFrame.indexOf("-"); item.addOption.column.find(item => item.prop == "select").display = false
let tmp = (parseInt(item.timeFrame.slice(0,item.timeFrame.indexOf(":"))) + 12) + item.timeFrame.slice(item.timeFrame.indexOf(":"));
let tmp1 = tmp.substring(0,index1 + 2) + (parseInt(tmp.substring(index1 + 2,tmp.indexOf(":",index + 2))) + 12) + tmp.substring(tmp.indexOf(":",index + 2))
item.timeFrame = tmp1.replace('-',',')
val.addForm.addData1.push({
num:item.numberNum,
timerange:item.timeFrame
})
} }
}) if(item.dictValue == this.activeName){
}) item.addForm.addData = [];
}, item.addForm.addData1 = [];
handleClick(tab, event){ data[0].createDept = "1623571646250143746"
let tmp = this.tabArr.find(item => item.dictValue == tab.label); item.addForm.select = data[0].createDept;
tmp.addForm = { data.map(item1 =>{
addData: [ if(item1.period == '上午'){
item1.timeFrame = item1.timeFrame.replace('-','am,').concat('am')
item.addForm.addData.push({
num:item1.numberNum,
timerange:item1.timeFrame
})
}else{
let index = item1.timeFrame.indexOf(":");
let index1 = item1.timeFrame.indexOf("-");
let tmp = (parseInt(item1.timeFrame.slice(0,item1.timeFrame.indexOf(":"))) + 12) + item1.timeFrame.slice(item1.timeFrame.indexOf(":"));
let tmp1 = tmp.substring(0,index1 + 2) + (parseInt(tmp.substring(index1 + 2,tmp.indexOf(":",index + 2))) + 12) + tmp.substring(tmp.indexOf(":",index + 2))
item1.timeFrame = tmp1.replace('-',',')
item.addForm.addData1.push({
num:item1.numberNum,
timerange:item1.timeFrame
})
}
})
return
}else{
item.addForm.addData = []
item.addForm.addData1 = []
item.addForm.addData.push(
{ {
timerange: '08:00am,08:30am', timerange: '08:00am,08:30am',
num: 1 num: 0
}, },
{ {
timerange: '08:30am,09:00am', timerange: '08:30am,09:00am',
num: 1 num: 0
}, },
{ {
timerange: '09:00am,09:30am', timerange: '09:00am,09:30am',
num: 1 num: 0
}, },
{ {
timerange: '09:30am,10:00am', timerange: '09:30am,10:00am',
num: 1 num: 0
} }
], )
addData1: [ item.addForm.addData1.push(
{ {
timerange: '13:00,13:30', timerange: '13:00,13:30',
num: 1 num: 0
}, },
{ {
timerange: '13:30,14:00', timerange: '13:30,14:00',
num: 1 num: 0
}, },
{ {
timerange: '14:00,14:30', timerange: '14:00,14:30',
num: 1 num: 0
}, },
{ {
timerange: '14:30,15:00', timerange: '14:30,15:00',
num: 1 num: 0
} }
] )
} return
}
})
})
console.log(this.tabArr)
},
handleClick(tab, event){
let tmp = this.tabArr.find(item => item.dictValue == tab.label);
// tmp.addForm = {
// addData: [
// {
// timerange: '08:00am,08:30am',
// num: 1
// },
// {
// timerange: '08:30am,09:00am',
// num: 1
// },
// {
// timerange: '09:00am,09:30am',
// num: 1
// },
// {
// timerange: '09:30am,10:00am',
// num: 1
// }
// ],
// addData1: [
// {
// timerange: '13:00,13:30',
// num: 1
// },
// {
// timerange: '13:30,14:00',
// num: 1
// },
// {
// timerange: '14:00,14:30',
// num: 1
// },
// {
// timerange: '14:30,15:00',
// num: 1
// }
// ]
// }
}, },
handleSubmit(value,done){ handleSubmit(value,done){
console.log(this.tabArr)
this.count = 0; this.count = 0;
value.addData.map(item => this.count += item.num) this.tabArr.map(item =>{
value.addData1.map(item => this.count += item.num) item.addForm.addData.map(item1 => this.count += item1.num)
this.dayArr = [] item.addForm.addData1.map(item1 => this.count += item1.num)
if(JSON.stringify(value) === '{}'){ })
if(this.tabArr[0].addForm.addData.length == 0 && this.tabArr[1].addForm.addData.length == 0
&& this.tabArr[2].addForm.addData.length == 0 && this.tabArr[0].addForm.addData1.length == 0
&& this.tabArr[1].addForm.addData1.length == 0 && this.tabArr[2].addForm.addData1.length == 0){
this.$message.error('请至少添加一条数据'); this.$message.error('请至少添加一条数据');
done() done()
}else if(this.count == 0){
this.$message.error('号源数量不可为0');
done()
}else{ }else{
if(this.isEdit){ if(this.isEdit){
this.$confirm(`是否对此时段号源进行增加号源数量变更?`, '提示', { this.$confirm(`是否对此时段号源进行增加号源数量变更?`, '提示', {
@ -538,22 +609,22 @@ export default {
type: 'warning', type: 'warning',
customClass:'dialog_box' customClass:'dialog_box'
}).then(() => { }).then(() => {
this.addForm1 = value;
this.isShow = false; this.isShow = false;
this.title = '放号日期'; this.title = '放号日期';
this.subtitle = '请选择配置号源投放的具体日期。' this.subtitle = '请选择配置号源投放的具体日期。'
done() done()
}).catch(() => { }).catch(() => {
done() done()
}); });
}else{ }else{
this.dayArr = []
this.$confirm(`该天投放号源为${this.count}人次, 是否确认?`, '提示', { this.$confirm(`该天投放号源为${this.count}人次, 是否确认?`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
customClass:'dialog_box' customClass:'dialog_box'
}).then(() => { }).then(() => {
this.addForm1 = value;
this.isShow = false; this.isShow = false;
this.title = '放号日期'; this.title = '放号日期';
this.subtitle = '请选择配置号源投放的具体日期。' this.subtitle = '请选择配置号源投放的具体日期。'
@ -567,34 +638,73 @@ export default {
}, },
// //
clickSubmit(){ clickSubmit(){
console.log(this.addForm1.select)
let values = { let values = {
dayList:this.dayArr, dayList:this.dayArr,
createDept:this.addForm1.select == undefined ? this.userInfo.dept_id : this.addForm1.select, createDept:this.addForm1.select == undefined ? this.userInfo.dept_id : this.addForm1.select,
configListVOS:[
{
createDept:this.addForm1.select == undefined ? this.userInfo.dept_id : this.addForm1.select,
project:this.tabArr.find(item => item.dictValue == this.activeName).dictValue,
detailList:[]
}
]
} }
this.addForm1.addData.map(item =>{ let configListVOS = []
values.configListVOS[0].detailList.push({ this.tabArr.map(item =>{
period:'上午', configListVOS.push({
timeFrame:item.timerange.replace(",","-").replaceAll('am',''), createDept:this.addForm1.select == undefined ? this.userInfo.dept_id : this.addForm1.select,
numberNum:item.num, project:item.dictValue,
detailList:[]
}) })
}) })
this.addForm1.addData1.map(item =>{ if(this.isEdit){
let startTime = (parseInt(item.timerange.substr(0,2)) - 12) + item.timerange.substr(2,3); this.tabArr.map(item =>{
let endTime = (parseInt(item.timerange.substr(6,7)) - 12) + item.timerange.substr(8,9) configListVOS.map(item1 =>{
values.configListVOS[0].detailList.push({ if(item1.project == item.dictValue){
period:'下午', item.addForm.addData.map(item2 =>{
timeFrame:startTime + '-' + endTime, item1.detailList.push({
numberNum:item.num, period:'上午',
timeFrame:item2.timerange.replace(",","-").replaceAll('am',''),
numberNum:item2.num,
})
})
item.addForm.addData1.map(item3 =>{
let startTime = (parseInt(item3.timerange.substr(0,2)) - 12) + item3.timerange.substr(2,3);
let endTime = (parseInt(item3.timerange.substr(6,7)) - 12) + item3.timerange.substr(8,9)
item1.detailList.push({
period:'下午',
timeFrame:startTime + '-' + endTime,
numberNum:item3.num,
})
})
}
})
}) })
}) values.configListVOS = configListVOS
}else{
this.tabArr.map(item =>{
configListVOS.map(item1 =>{
if(item1.project == item.dictValue){
item.addForm.addData.map(item2 =>{
if(item2.num !== 0){
item1.detailList.push({
period:'上午',
timeFrame:item2.timerange.replace(",","-").replaceAll('am',''),
numberNum:item2.num,
})
}
})
item.addForm.addData1.map(item3 =>{
let startTime = (parseInt(item3.timerange.substr(0,2)) - 12) + item3.timerange.substr(2,3);
let endTime = (parseInt(item3.timerange.substr(6,7)) - 12) + item3.timerange.substr(8,9)
if(item3.num !== 0){
item1.detailList.push({
period:'下午',
timeFrame:startTime + '-' + endTime,
numberNum:item.num,
})
}
})
}
})
})
configListVOS = configListVOS.filter(item => item.detailList.length !== 0);
values.configListVOS = configListVOS
}
addExamProject(values).then(res =>{ addExamProject(values).then(res =>{
console.log(res) console.log(res)
if(res.data.code == 200){ if(res.data.code == 200){
@ -641,25 +751,28 @@ export default {
this.query.hosId = this.userInfo.dept_id this.query.hosId = this.userInfo.dept_id
} }
if(releaseTime){ if(releaseTime){
console.log(this.query)
values = { values = {
startTime:this.query.releaseTime, startTime:this.query.releaseTime[0],
endTime:this.query.releaseTime, endTime:this.query.releaseTime[1],
project:this.query.projectName == '全部' ? '' : this.query.projectName, project:this.query.projectName == '全部' ? '' : this.query.projectName,
createDept:this.query.hosId createDept:this.query.hosId
}; };
}else{ }else{
values = { values = {
startTime : new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()), // startTime : new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()),
endTime : new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()), // endTime : new Date().getFullYear() + '-' + ((new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : ((new Date().getMonth() + 1))) + '-' + (new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()),
startTime:'',
endTime:'',
createDept:this.query.hosId, createDept:this.query.hosId,
project:'' project:''
} }
} }
getNumList(page.currentPage, page.pageSize,values).then(res =>{ getNumList(page.currentPage, page.pageSize,values).then(res =>{
console.log(res)
const data = res.data.data; const data = res.data.data;
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; this.data = data.records;
console.log(this.data)
this.loading = false; this.loading = false;
}) })
}, },

Loading…
Cancel
Save