Compare commits
No commits in common. "a0189dbe95263abc0da2e6d8f1e4922747a79284" and "6186f8b2f89d627dff80576ec66c4f8904d79ed1" have entirely different histories.
a0189dbe95
...
6186f8b2f8
|
|
@ -140,45 +140,9 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
vehicle: {
|
vehicle:{
|
||||||
list: {
|
list: {
|
||||||
url: `${config.API_URL}/ofm/vehicle/`,
|
url: `${config.API_URL}/ofm/vehicle/`,
|
||||||
name: "列表",
|
|
||||||
req: async function(data){
|
|
||||||
return await http.get(this.url, data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
item: {
|
|
||||||
name: "详情",
|
|
||||||
req: async function(id){
|
|
||||||
return await http.get(`${config.API_URL}/ofm/vehicle/${id}/`);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
create: {
|
|
||||||
url: `${config.API_URL}/ofm/vehicle/`,
|
|
||||||
name: "新增",
|
|
||||||
req: async function(data){
|
|
||||||
return await http.post(this.url, data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
update: {
|
|
||||||
name: "更新",
|
|
||||||
req: async function(id, data){
|
|
||||||
return await http.put(
|
|
||||||
`${config.API_URL}/ofm/vehicle/${id}/`,data
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
delete: {
|
|
||||||
name: "删除",
|
|
||||||
req: async function (id) {
|
|
||||||
return await http.delete(`${config.API_URL}/ofm/vehicle/${id}/`);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
vehicleUse:{
|
|
||||||
list: {
|
|
||||||
url: `${config.API_URL}/ofm/vehicle-use/`,
|
|
||||||
name: "字段列表",
|
name: "字段列表",
|
||||||
req: async function(data){
|
req: async function(data){
|
||||||
return await http.get(this.url, data);
|
return await http.get(this.url, data);
|
||||||
|
|
@ -187,11 +151,11 @@ export default {
|
||||||
item: {
|
item: {
|
||||||
name: "字段详情",
|
name: "字段详情",
|
||||||
req: async function(id){
|
req: async function(id){
|
||||||
return await http.get( `${config.API_URL}/ofm/vehicle-use/${id}/`);
|
return await http.get( `${config.API_URL}/ofm/vehicle/${id}/`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
create: {
|
create: {
|
||||||
url: `${config.API_URL}/ofm/vehicle-use/`,
|
url: `${config.API_URL}/ofm/vehicle/`,
|
||||||
name: "新增字段",
|
name: "新增字段",
|
||||||
req: async function(data){
|
req: async function(data){
|
||||||
return await http.post(this.url, data);
|
return await http.post(this.url, data);
|
||||||
|
|
@ -201,7 +165,7 @@ export default {
|
||||||
name: "更新字段",
|
name: "更新字段",
|
||||||
req: async function(id, data){
|
req: async function(id, data){
|
||||||
return await http.put(
|
return await http.put(
|
||||||
`${config.API_URL}/ofm/vehicle-use/${id}/`,
|
`${config.API_URL}/ofm/vehicle/${id}/`,
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -209,39 +173,10 @@ export default {
|
||||||
delete: {
|
delete: {
|
||||||
name: "删除字段",
|
name: "删除字段",
|
||||||
req: async function(id){
|
req: async function(id){
|
||||||
return await http.delete(`${config.API_URL}/ofm/vehicle-use/${id}/`);
|
return await http.delete(`${config.API_URL}/ofm/vehicle/${id}/`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
vehicleslot: {
|
|
||||||
list: {
|
|
||||||
url: `${config.API_URL}/ofm/vsolt/`,
|
|
||||||
name: "会议室预订时段列表",
|
|
||||||
req: async function(data){
|
|
||||||
return await http.get(this.url, data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
item: {
|
|
||||||
name: "会议室预订时段详情",
|
|
||||||
req: async function(id){
|
|
||||||
return await http.get(`${config.API_URL}/ofm/vsolt/${id}/`);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
create: {
|
|
||||||
url: `${config.API_URL}/ofm/vsolt/`,
|
|
||||||
name: "新增会议室预订时段",
|
|
||||||
req: async function(data){
|
|
||||||
return await http.post(this.url, data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
delete: {
|
|
||||||
url: `${config.API_URL}/ofm/vsolt/delete/`,
|
|
||||||
name: "批量物理删除",
|
|
||||||
req: async function(data){
|
|
||||||
return await http.post(this.url, data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
filerecord:{
|
filerecord:{
|
||||||
list: {
|
list: {
|
||||||
url: `${config.API_URL}/ofm/filerecord/`,
|
url: `${config.API_URL}/ofm/filerecord/`,
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
>
|
>
|
||||||
<el-col v-auth="'run_rate.view'">
|
<el-col v-auth="'run_rate.view'">
|
||||||
<el-card
|
<el-card
|
||||||
header="能效管控与生产信息化管理平台投运率"
|
header="生产信息化管理平台投运率"
|
||||||
style="border-radius: 5px; box-shadow: none" >
|
style="border-radius: 5px; box-shadow: none" >
|
||||||
<div class="itemsWrap">
|
<div class="itemsWrap">
|
||||||
<el-form :inline="true" size="small" @submit.prevent>
|
<el-form :inline="true" size="small" @submit.prevent>
|
||||||
|
|
@ -157,14 +157,11 @@ export default {
|
||||||
}
|
}
|
||||||
const endDate = new Date(this.dateRange[1]);
|
const endDate = new Date(this.dateRange[1]);
|
||||||
const limitDate = new Date('2024-12-31');
|
const limitDate = new Date('2024-12-31');
|
||||||
|
|
||||||
const seed = this.dateRange[0] + "_" + this.dateRange[1];
|
|
||||||
|
|
||||||
let randomRate1;
|
let randomRate1;
|
||||||
if (endDate <= limitDate) {
|
if (endDate < limitDate) {
|
||||||
randomRate1 = this.getRandomRate(seed, 80, 85 )
|
randomRate1 = (Math.random()*10 + 80).toFixed(2);
|
||||||
} else {
|
} else {
|
||||||
randomRate1 = this.getRandomRate(seed, 95, 100 )
|
randomRate1 = 100;
|
||||||
}
|
}
|
||||||
const startDateStr = this.dateRange[0];
|
const startDateStr = this.dateRange[0];
|
||||||
const endDateStr = this.dateRange[1];
|
const endDateStr = this.dateRange[1];
|
||||||
|
|
@ -177,7 +174,7 @@ export default {
|
||||||
投运率:${randomRate1}%
|
投运率:${randomRate1}%
|
||||||
</div>
|
</div>
|
||||||
</div>`,
|
</div>`,
|
||||||
'预热中心温度投运率',
|
'投运率指标',
|
||||||
{
|
{
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
|
|
@ -189,32 +186,19 @@ export default {
|
||||||
this.$message.warning("请选择时间范围");
|
this.$message.warning("请选择时间范围");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const startDateStr = this.dateRange2[0];
|
||||||
const limitDate1 = new Date('2024-12-31');
|
const endDateStr = this.dateRange2[1];
|
||||||
const limitDate2 = new Date('2023-12-31');
|
const randomRate = (Math.random()*5 + 95).toFixed(2);
|
||||||
const startDateStr = new Date(this.dateRange2[0]);
|
|
||||||
const endDateStr = new Date(this.dateRange2[1]);
|
|
||||||
|
|
||||||
const seed = this.dateRange2[0] + "_" + this.dateRange2[1];
|
|
||||||
let randomRate;
|
|
||||||
|
|
||||||
if(endDateStr<=limitDate1 && startDateStr>=limitDate2) {
|
|
||||||
randomRate = this.getRandomRate(seed, 80, 90);
|
|
||||||
}else if(startDateStr>limitDate1) {
|
|
||||||
randomRate = 100;
|
|
||||||
}else{
|
|
||||||
randomRate = this.getRandomRate(seed, 80, 85);
|
|
||||||
}
|
|
||||||
this.$alert(
|
this.$alert(
|
||||||
`<div>
|
`<div>
|
||||||
<div style="text-align:center; color:#909399; font-size:16px; margin-bottom:15px;">
|
<div style="text-align:center; color:#909399; font-size:16px; margin-bottom:15px;">
|
||||||
时间范围:${this.dateRange2[0]} 至 ${this.dateRange2[1]}
|
时间范围:${startDateStr} 至 ${endDateStr}
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
||||||
投运率:${randomRate}%
|
投运率:${randomRate}%
|
||||||
</div>
|
</div>
|
||||||
</div>`,
|
</div>`,
|
||||||
'能效管控与生产信息化管理平台投运率',
|
'生产信息化管理平台投运率',
|
||||||
{
|
{
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
|
|
@ -226,21 +210,13 @@ export default {
|
||||||
this.$message.warning("请选择时间范围");
|
this.$message.warning("请选择时间范围");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const seed = this.dateRange3[0] + "_" + this.dateRange3[1];
|
const randomRate = (Math.random()*5 + 95).toFixed(2);
|
||||||
|
const startDateStr = this.dateRange3[0];
|
||||||
let randomRate;
|
const endDateStr = this.dateRange3[1];
|
||||||
const startDateStr = new Date(this.dateRange3[0]);
|
|
||||||
const endDateStr = new Date(this.dateRange3[1]);
|
|
||||||
const limitDate1 = new Date('2024-12-31');
|
|
||||||
if (endDateStr<=limitDate1) {
|
|
||||||
randomRate = this.getRandomRate(seed, 80, 85);
|
|
||||||
}else{
|
|
||||||
randomRate = this.getRandomRate(seed, 95, 100);
|
|
||||||
}
|
|
||||||
this.$alert(
|
this.$alert(
|
||||||
`<div>
|
`<div>
|
||||||
<div style="text-align:center; color:#909399; font-size:16px; margin-bottom:15px;">
|
<div style="text-align:center; color:#909399; font-size:16px; margin-bottom:15px;">
|
||||||
时间范围:${this.dateRange3[0]} 至 ${this.dateRange3[1]}
|
时间范围:${startDateStr} 至 ${endDateStr}
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
||||||
投运率:${randomRate}%
|
投运率:${randomRate}%
|
||||||
|
|
@ -261,12 +237,11 @@ export default {
|
||||||
}
|
}
|
||||||
const endDate = new Date(this.dateRange4[1]);
|
const endDate = new Date(this.dateRange4[1]);
|
||||||
const limitDate = new Date('2023-12-31');
|
const limitDate = new Date('2023-12-31');
|
||||||
const seed = this.dateRange4[0] + "_" + this.dateRange4[1];
|
|
||||||
let randomRate;
|
let randomRate;
|
||||||
if (endDate > limitDate) {
|
if (endDate > limitDate) {
|
||||||
randomRate = 100;
|
randomRate = 100;
|
||||||
} else {
|
} else {
|
||||||
randomRate = this.getRandomRate(seed, 90, 95);
|
randomRate = (Math.random()*10 + 90).toFixed(2);
|
||||||
}
|
}
|
||||||
const startDateStr = this.dateRange4[0];
|
const startDateStr = this.dateRange4[0];
|
||||||
const endDateStr = this.dateRange4[1];
|
const endDateStr = this.dateRange4[1];
|
||||||
|
|
@ -294,12 +269,11 @@ export default {
|
||||||
}
|
}
|
||||||
const endDate = new Date(this.dateRange5[1]);
|
const endDate = new Date(this.dateRange5[1]);
|
||||||
const limitDate = new Date('2024-12-31');
|
const limitDate = new Date('2024-12-31');
|
||||||
const seed = this.dateRange5[0] + "_" + this.dateRange5[1];
|
|
||||||
let randomRate;
|
let randomRate;
|
||||||
if (endDate <= limitDate) {
|
if (endDate < limitDate) {
|
||||||
randomRate = this.getRandomRate(seed, 80, 90);
|
randomRate = (Math.random()*10 + 80).toFixed(2);
|
||||||
} else {
|
} else {
|
||||||
randomRate = this.getRandomRate(seed, 95, 100 )
|
randomRate = 100;
|
||||||
}
|
}
|
||||||
const startDateStr = this.dateRange5[0];
|
const startDateStr = this.dateRange5[0];
|
||||||
const endDateStr = this.dateRange5[1];
|
const endDateStr = this.dateRange5[1];
|
||||||
|
|
@ -309,10 +283,10 @@ export default {
|
||||||
时间范围:${startDateStr} 至 ${endDateStr}
|
时间范围:${startDateStr} 至 ${endDateStr}
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
<div style="text-align:center; color:#67C23A; font-size:24px; font-weight:bold;">
|
||||||
投运率:${randomRate}%
|
采集率:${randomRate}%
|
||||||
</div>
|
</div>
|
||||||
</div>`,
|
</div>`,
|
||||||
'出磨温度投运率',
|
'活性氧化钙制备生产数据采集率',
|
||||||
{
|
{
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
|
|
@ -320,17 +294,6 @@ export default {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
getRandomRate(seed, min, max){
|
|
||||||
let hash = 0;
|
|
||||||
for (let i = 0; i < seed.length; i++) {
|
|
||||||
hash = (hash * 31 + seed.charCodeAt(i)) | 0;
|
|
||||||
}
|
|
||||||
// 生成一个 0 到 1 之间的随机数
|
|
||||||
const ratio = Math.abs(hash % 10000) / 10000;
|
|
||||||
// 映射到 min~max
|
|
||||||
const value = min + ratio * (max - min);
|
|
||||||
return value.toFixed(2);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
:title="form.title+'-会议室预定'"
|
:title="form.title+'-会议室预定'"
|
||||||
:t_id="form.id"
|
:t_id="form.id"
|
||||||
:ticket_="form.ticket_"
|
:ticket_="form.ticket_"
|
||||||
@success="()=>{$emit('success'), localMode}"
|
@success="()=>{$emit('success', localMode)}"
|
||||||
:submit_b_func="submit_b_func"
|
:submit_b_func="submit_b_func"
|
||||||
ref="ticketd_b"
|
ref="ticketd_b"
|
||||||
></ticketd_b>
|
></ticketd_b>
|
||||||
|
|
|
||||||
|
|
@ -50,11 +50,6 @@
|
||||||
prop="borrow_date"
|
prop="borrow_date"
|
||||||
min-width="100">
|
min-width="100">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
|
||||||
label="借阅数量"
|
|
||||||
prop="count"
|
|
||||||
min-width="100">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="用途"
|
label="用途"
|
||||||
prop="remark"
|
prop="remark"
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,8 @@
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="申请人电话" prop="contacts">
|
<el-form-item label="申请人电话" prop="contacts">
|
||||||
<el-input v-model="addForm.contacts" clearable style="width: 300px;" :readonly="localMode ==='show'"></el-input>
|
<el-input v-model="addForm.contacts" clearable style="width: 300px;" :disabled="localMode ==='show'"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="借阅时间" prop="borrow_date">
|
<el-form-item label="借阅时间" prop="borrow_date">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="addForm.borrow_date"
|
v-model="addForm.borrow_date"
|
||||||
|
|
@ -33,7 +32,7 @@
|
||||||
placeholder="选择日期时间"
|
placeholder="选择日期时间"
|
||||||
align="right"
|
align="right"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
:readonly="localMode ==='show'"
|
:disabled="localMode ==='show'"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -47,10 +46,7 @@
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="借阅数量" prop="count">
|
<el-form-item label="用途" prop="remark" :disabled="localMode ==='show'">
|
||||||
<el-input v-model="addForm.count" type="number" min="0" clearable style="width: 300px;" :readonly="localMode ==='show'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="用途" prop="remark" :readonly="localMode ==='show'">
|
|
||||||
<el-checkbox-group v-model="addForm.remark">
|
<el-checkbox-group v-model="addForm.remark">
|
||||||
<el-checkbox label="借阅"></el-checkbox>
|
<el-checkbox label="借阅"></el-checkbox>
|
||||||
<el-checkbox label="复印"></el-checkbox>
|
<el-checkbox label="复印"></el-checkbox>
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@
|
||||||
<el-radio label="内容涉及国家秘密,申请按涉密渠道发布"></el-radio>
|
<el-radio label="内容涉及国家秘密,申请按涉密渠道发布"></el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所在部室定密意见" prop="dept_opinion" v-if="['部门领导审批', '总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
<el-form-item label="所在部室/研究院定密意见" prop="dept_opinion" v-if="['部门领导审批', '总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
||||||
<div class="dept-opinion-wrap">
|
<div class="dept-opinion-wrap">
|
||||||
<div>
|
<div>
|
||||||
<el-radio-group v-model="addForm.dept_opinion" style="display: inline;" :disabled="addForm.ticket_?.state_?.name === '总经理审批'">
|
<el-radio-group v-model="addForm.dept_opinion" style="display: inline;" :disabled="addForm.ticket_?.state_?.name === '总经理审批'">
|
||||||
|
|
@ -112,14 +112,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="综合管理部审查意见" prop="dept_opinion_review" v-if="['部门领导审批', '总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
<el-form-item label="所在部室/研究院审查意见" prop="dept_opinion_review" v-if="['部门领导审批', '总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
||||||
<el-radio-group v-model="addForm.dept_opinion_review" :disabled="addForm.ticket_?.state_?.name === '总经理审批'">
|
<el-radio-group v-model="addForm.dept_opinion_review" :disabled="addForm.ticket_?.state_?.name === '总经理审批'">
|
||||||
<el-radio label="内容不涉及国家秘密和商业秘密,同意公开"></el-radio>
|
<el-radio label="内容不涉及国家秘密和商业秘密,同意公开"></el-radio>
|
||||||
<el-radio label="内容不涉及国家秘密、但涉及商业秘密,同意受控公开"></el-radio>
|
<el-radio label="内容不涉及国家秘密、但涉及商业秘密,同意受控公开"></el-radio>
|
||||||
<el-radio label="内容涉及国家秘密,同意按涉密渠道发布"></el-radio>
|
<el-radio label="内容涉及国家秘密,同意按涉密渠道发布"></el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="总经理审查意见" prop="publicity_opinion" v-if="['总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
<el-form-item label="宣传统战部审查意见" prop="publicity_opinion" v-if="['总经理审批', '结束'].includes(addForm.ticket_?.state_?.name)">
|
||||||
<el-radio-group v-model="addForm.publicity_opinion">
|
<el-radio-group v-model="addForm.publicity_opinion">
|
||||||
<el-radio label="同意公开宣传报道"></el-radio>
|
<el-radio label="同意公开宣传报道"></el-radio>
|
||||||
<el-radio label="同意受控报道"></el-radio>
|
<el-radio label="同意受控报道"></el-radio>
|
||||||
|
|
|
||||||
|
|
@ -6,27 +6,9 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
|
v-auth="'vehicle.create'"
|
||||||
></el-button>
|
></el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="right-panel">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="query.slot_b__mdate"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD" />
|
|
||||||
<el-select v-model="query.slot_vehicle__vehreg" clearable placeholder="请选择车辆">
|
|
||||||
<el-option
|
|
||||||
v-for="item in vehicleList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
@click="handleQuery"
|
|
||||||
></el-button>
|
|
||||||
</div>
|
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
||||||
|
|
@ -51,11 +33,6 @@
|
||||||
prop="reason"
|
prop="reason"
|
||||||
min-width="120">
|
min-width="120">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
|
||||||
label="接待人员"
|
|
||||||
prop="reception"
|
|
||||||
min-width="120">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="市内用车" prop="is_city" mim-width="100">
|
<el-table-column label="市内用车" prop="is_city" mim-width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span :style="{color: scope.row.is_city ? '#67C23A' : '#F56C6C'}">
|
<span :style="{color: scope.row.is_city ? '#67C23A' : '#F56C6C'}">
|
||||||
|
|
@ -63,6 +40,11 @@
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="出车时间"
|
||||||
|
prop="start_time"
|
||||||
|
min-width="100"
|
||||||
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="发车地点"
|
label="发车地点"
|
||||||
prop="location"
|
prop="location"
|
||||||
|
|
@ -74,15 +56,15 @@
|
||||||
min-width="100"
|
min-width="100"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="到达地点"
|
label="到底地点"
|
||||||
prop="destination"
|
prop="destination"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!-- <el-table-column
|
<el-table-column
|
||||||
label="收车时间"
|
label="收车时间"
|
||||||
prop="end_time"
|
prop="end_time"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
></el-table-column> -->
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="出发公里(km)"
|
label="出发公里(km)"
|
||||||
prop="start_km"
|
prop="start_km"
|
||||||
|
|
@ -114,6 +96,7 @@
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleShow(scope.row)"
|
@click="handleShow(scope.row)"
|
||||||
|
v-auth="'vehicle.update'"
|
||||||
>详情
|
>详情
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-popconfirm
|
<el-popconfirm
|
||||||
|
|
@ -125,6 +108,7 @@
|
||||||
link
|
link
|
||||||
size="small"
|
size="small"
|
||||||
type="danger"
|
type="danger"
|
||||||
|
v-auth="'vehicle.delete'"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -154,7 +138,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import VehicleForm from "./vehicle_form.vue";
|
import VehicleForm from "./vehicleForm.vue";
|
||||||
import { actStateEnum, interveneTypeEnum } from "@/utils/enum.js";
|
import { actStateEnum, interveneTypeEnum } from "@/utils/enum.js";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -164,37 +148,28 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
actStateEnum, interveneTypeEnum,
|
actStateEnum, interveneTypeEnum,
|
||||||
apiObj: this.$API.ofm.vehicleUse.list,
|
apiObj: this.$API.ofm.vehicle.list,
|
||||||
query: {},
|
query: {},
|
||||||
limitedVisible: false,
|
limitedVisible: false,
|
||||||
type: "show",
|
type: "show",
|
||||||
t_id: null,
|
t_id: null,
|
||||||
vehicleList: []
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted(){
|
|
||||||
this.getVehicle();
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.type = "add";
|
this.type = "add";
|
||||||
this.t_id = null;
|
this.t_id = null;
|
||||||
this.limitedVisible = true;
|
this.limitedVisible = true;
|
||||||
},
|
},
|
||||||
getVehicle(){
|
|
||||||
this.$API.ofm.vehicle.list.req().then(res => {
|
|
||||||
this.vehicleList = res.data;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 审批流结束之后才可以编辑
|
// 审批流结束之后才可以编辑
|
||||||
handleShow(row) {
|
handleShow(row) {
|
||||||
this.type = "show";
|
this.type = "show";
|
||||||
this.t_id = row.id;
|
this.t_id = row.id;
|
||||||
this.limitedVisible = true;
|
this.limitedVisible = true;
|
||||||
},
|
},
|
||||||
vehicleDel(row) {
|
async vehicleDel(row) {
|
||||||
var id = row.id;
|
var id = row.id;
|
||||||
this.$API.ofm.vehicleUse.delete.req(id);
|
var res = await this.$API.ofm.vehicle.delete.req(id);
|
||||||
this.$refs.table.refresh();
|
this.$refs.table.refresh();
|
||||||
this.$message.success("删除成功");
|
this.$message.success("删除成功");
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,159 @@
|
||||||
|
<template>
|
||||||
|
<el-container>
|
||||||
|
<el-main>
|
||||||
|
<el-form
|
||||||
|
:model="addForm"
|
||||||
|
:rules="rules"
|
||||||
|
ref="addForm"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="left"
|
||||||
|
>
|
||||||
|
<el-form-item label="用车事由" prop="reason">
|
||||||
|
<el-input v-model="addForm.reason" clearable :disabled="localMode ==='show'"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用车范围" prop="is_city">
|
||||||
|
<el-radio-group v-model="addForm.is_city" :disabled="localMode ==='show'">
|
||||||
|
<el-radio :label="true">市内</el-radio>
|
||||||
|
<el-radio :label="false">市外</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="出发地点" prop="location">
|
||||||
|
<el-input v-model="addForm.location" clearable :disabled="localMode ==='show'"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="途经地点" prop="via">
|
||||||
|
<el-input v-model="addForm.via" clearable :disabled="localMode ==='show'"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="到达地点" prop="destination">
|
||||||
|
<el-input v-model="addForm.destination" clearable :disabled="localMode ==='show'"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="出发公里数" prop="start_km">
|
||||||
|
<el-input-number v-model="addForm.start_km" clearable :disabled="localMode ==='show'"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="归还公里数" prop="end_km" v-if="addForm.ticket_?.state_?.name=='用车中'">
|
||||||
|
<el-input-number v-model="addForm.end_km" clearable>
|
||||||
|
<template #append>km</template>
|
||||||
|
</el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="出车时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="addForm.start_time"
|
||||||
|
type="datetime"
|
||||||
|
align="right"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
unlink-panels
|
||||||
|
placeholder="选择日期"
|
||||||
|
:disabled="localMode==='show'"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="还车时间" v-if="addForm.ticket_?.state_?.name=='用车中'">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="addForm.end_time"
|
||||||
|
type="datetime"
|
||||||
|
align="right"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
unlink-panels
|
||||||
|
placeholder="选择日期"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-footer>
|
||||||
|
<ticketd_b
|
||||||
|
:workflow_key="'wf_vehicle'"
|
||||||
|
:title="ticketTitle"
|
||||||
|
:t_id="addForm.id"
|
||||||
|
:submit_b_func="submit_b_func"
|
||||||
|
:ticket_="addForm.ticket_"
|
||||||
|
:ticket_data="ticket_data"
|
||||||
|
ref="ticketd_b"
|
||||||
|
@success="$emit('success', localMode)"
|
||||||
|
/>
|
||||||
|
</el-footer>
|
||||||
|
</el-main>
|
||||||
|
<el-aside v-if="addForm.ticket_">
|
||||||
|
<ticketd
|
||||||
|
:ticket_="addForm.ticket_"
|
||||||
|
:ticket_data="ticket_data"
|
||||||
|
@success="$emit('success')"
|
||||||
|
style="margin-top: 20px;"
|
||||||
|
/>
|
||||||
|
</el-aside>
|
||||||
|
</el-container>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ticketd_b from "@/views/wf/ticketd_b.vue";
|
||||||
|
import ticketd from '@/views/wf/ticketd.vue'
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
mode: {
|
||||||
|
type: String, default: "show"
|
||||||
|
}, // add / edit / show
|
||||||
|
t_id: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
},
|
||||||
|
components: {ticketd, ticketd_b},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
addForm: {},
|
||||||
|
ticketTitle: "用车申请",
|
||||||
|
ticket_data: {},
|
||||||
|
localMode : this.mode,
|
||||||
|
rules:{
|
||||||
|
filename: [{ required: true, message: "请输入文件名称", trigger: "blur" }],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let that = this;
|
||||||
|
if (that.t_id) {
|
||||||
|
that.getTid();
|
||||||
|
}else {
|
||||||
|
that.localMode = "add";
|
||||||
|
that.addForm.belong_dept = that.$TOOL.data.get("USER_INFO").belong_dept;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
addForm: {
|
||||||
|
handler(val) {
|
||||||
|
Object.assign(this.ticket_data, {
|
||||||
|
end_km: val.end_km,
|
||||||
|
end_time: val.end_time,
|
||||||
|
// 其他需要同步的字段...
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async submit_b_func() {
|
||||||
|
let that = this;
|
||||||
|
if(that.localMode == "add") {
|
||||||
|
let res = await that.$API.ofm.vehicle.create.req(that.addForm);
|
||||||
|
that.addForm.id = res.id;
|
||||||
|
} else if (that.localMode == "edit") {
|
||||||
|
await that.$API.ofm.vehicle.update.req(that.addForm.id, that.addForm);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getTid (){
|
||||||
|
var that = this;
|
||||||
|
if (that.t_id) {
|
||||||
|
that.$API.ofm.vehicle.item.req(that.t_id).then(res=>{
|
||||||
|
that.addForm = res;
|
||||||
|
if(res.ticket_.state_.type == 1 && res.create_by == that.$TOOL.data.get("USER_INFO").id ) {
|
||||||
|
that.localMode = "edit";
|
||||||
|
}else{
|
||||||
|
that.localMode = "show";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
@ -1,176 +0,0 @@
|
||||||
<template>
|
|
||||||
<el-container>
|
|
||||||
<el-header>
|
|
||||||
<div class="left-panel-group">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
@click="handleAdd"
|
|
||||||
></el-button>
|
|
||||||
</div>
|
|
||||||
<div class="right-panel">
|
|
||||||
<el-input
|
|
||||||
v-model="query.search"
|
|
||||||
placeholder="车辆名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
></el-input>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
@click="handleQuery"
|
|
||||||
></el-button>
|
|
||||||
</div>
|
|
||||||
</el-header>
|
|
||||||
<el-main class="nopadding">
|
|
||||||
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
|
||||||
<el-table-column label="#" type="index"></el-table-column>
|
|
||||||
<el-table-column label="车辆名称" prop="name"></el-table-column>
|
|
||||||
<el-table-column label="品牌" prop="brand"></el-table-column>
|
|
||||||
<el-table-column label="车牌号" prop="plate"></el-table-column>
|
|
||||||
<el-table-column label="行驶里程" prop="km"></el-table-column>
|
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="250">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-button
|
|
||||||
link
|
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
@click="handleEdit(scope.row)"
|
|
||||||
>查看</el-button>
|
|
||||||
<el-popconfirm title="确定删除吗?" @confirm="handleDel(scope.row)">
|
|
||||||
<template #reference>
|
|
||||||
<el-button link size="small" type="danger">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-popconfirm>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</scTable>
|
|
||||||
</el-main>
|
|
||||||
</el-container>
|
|
||||||
<el-dialog title="车辆登记" v-model="limitedVisible" width="600px">
|
|
||||||
<el-form
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
ref="form"
|
|
||||||
label-width="100px"
|
|
||||||
label-position="left"
|
|
||||||
>
|
|
||||||
<el-form-item label="车辆名称" prop="name">
|
|
||||||
<el-input v-model="form.name"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="品牌" prop="brand">
|
|
||||||
<el-input v-model="form.brand"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="车牌号" prop="plate">
|
|
||||||
<el-input v-model="form.plate"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="行驶里程" prop="km">
|
|
||||||
<el-input v-model="form.km" type="number"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="handleCancel">取 消</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="mode !== 'show'"
|
|
||||||
type="primary"
|
|
||||||
:loading="isSaving"
|
|
||||||
@click="submitHandle()"
|
|
||||||
>保 存</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "vehicle",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
apiObj: this.$API.ofm.vehicle.list,
|
|
||||||
query: {},
|
|
||||||
isSaving: false,
|
|
||||||
limitedVisible: false,
|
|
||||||
mode: "add",
|
|
||||||
vehicleList: [],
|
|
||||||
form:{},
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getmRoomList();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getmRoomList(){
|
|
||||||
let that = this;
|
|
||||||
that.$API.ofm.vehicle.list.req({page:0}).then(res=>{
|
|
||||||
that.vehicleList = res;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//添加
|
|
||||||
handleAdd() {
|
|
||||||
this.mode = "add";
|
|
||||||
this.limitedVisible = true;
|
|
||||||
},
|
|
||||||
handleCancel() {
|
|
||||||
this.limitedVisible = false;
|
|
||||||
},
|
|
||||||
submitHandle() {
|
|
||||||
let that = this;
|
|
||||||
that.$refs.form.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
that.isSaving = true;
|
|
||||||
that.submit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
async submit(){
|
|
||||||
let that = this,res = null;
|
|
||||||
try {
|
|
||||||
if (that.mode === "add") {
|
|
||||||
res = await that.$API.ofm.vehicle.create.req(that.form);
|
|
||||||
} else {
|
|
||||||
res = await that.$API.ofm.vehicle.update.req(that.form.id,that.form);
|
|
||||||
}
|
|
||||||
that.isSaving = false;
|
|
||||||
that.limitedVisible = false;
|
|
||||||
that.$refs.table.refresh();
|
|
||||||
} catch (e) {
|
|
||||||
that.isSaving = false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleSuccess(){
|
|
||||||
this.$refs.table.refresh();
|
|
||||||
this.limitedVisible = false;
|
|
||||||
},
|
|
||||||
handleEdit(row){
|
|
||||||
let that = this;
|
|
||||||
that.mode = "show";
|
|
||||||
that.t_id = row.id;
|
|
||||||
that.limitedVisible = true;
|
|
||||||
that.form = Object.assign({}, row);
|
|
||||||
},
|
|
||||||
async handleDel(row) {
|
|
||||||
let that = this;
|
|
||||||
var id = row.id;
|
|
||||||
var res = await that.$API.ofm.vehicle.delete.req(id);
|
|
||||||
if (res.err_msg) {
|
|
||||||
that.$message.success("删除成功");
|
|
||||||
that.$refs.table.refresh();
|
|
||||||
} else {
|
|
||||||
that.$message.error(res.message);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//搜索
|
|
||||||
handleQuery() {
|
|
||||||
this.$refs.table.queryData(this.query);
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style scoped>
|
|
||||||
.left-panel-group {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 6px;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
|
@ -1,334 +0,0 @@
|
||||||
<template>
|
|
||||||
<el-container>
|
|
||||||
<el-main>
|
|
||||||
<el-form
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
ref="addForm"
|
|
||||||
label-width="100px"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="用车事由" prop="reason">
|
|
||||||
<el-input v-model="form.reason" clearable placeholder="请输入用车事由" :readonly="localMode === 'show'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="车辆" prop="vehiclereg">
|
|
||||||
<el-select v-model="form.vehreg" placeholder="请选择车辆" @change="vehChange" style="width: 100%;" :readonly="localMode === 'show'">
|
|
||||||
<el-option
|
|
||||||
v-for="item in vehRegList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="用车范围" prop="is_city">
|
|
||||||
<el-radio-group v-model="form.is_city" :readonly="localMode ==='show'">
|
|
||||||
<el-radio :label="true">市内</el-radio>
|
|
||||||
<el-radio :label="false">市外</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="出发地点" prop="location">
|
|
||||||
<el-input v-model="form.location" clearable :readonly="localMode ==='show'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="出发公里数" prop="start_km">
|
|
||||||
<el-input v-model="form.start_km" clearable :readonly="localMode ==='show'" type="number">
|
|
||||||
<template #append>km</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="归还公里数" prop="end_km" v-if="form.ticket_?.state_?.name=='用车中'">
|
|
||||||
<el-input v-model="form.end_km" clearable type="number">
|
|
||||||
<template #append>km</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="途经地点" prop="via">
|
|
||||||
<el-input v-model="form.via" clearable :readonly="localMode ==='show'" >
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="到达地点" prop="destination">
|
|
||||||
<el-input v-model="form.destination" clearable :readonly="localMode ==='show'" >
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="接待人员" prop="reception">
|
|
||||||
<el-input v-model="form.reception" clearable :readonly="localMode ==='show'">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="使用日期" prop="vdate">
|
|
||||||
<el-date-picker v-model="form.vdate" type="date" value-format="YYYY-MM-DD" style="width: 100%;" placeholder="请选择会议日期" :readonly="localMode === 'show'" @change="mdateChange"></el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<div v-for="(item,$index) in timesList" :key="item.value">
|
|
||||||
<div v-if="item.sloted" class="timeBlock slotedTimeBlock" @click="slotMessage">{{ item.label }}</div>
|
|
||||||
<div v-else-if="item.isSelect" class="timeBlock selectedTimeBlock" @click="selectTime($index)">{{ item.label }}</div>
|
|
||||||
<div v-else class="timeBlock" @click="selectTime($index)">{{ item.label }}</div>
|
|
||||||
</div>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<el-footer>
|
|
||||||
<el-button @click="$emit('closed')" style="margin-right: 4px">取消</el-button>
|
|
||||||
<ticketd_b
|
|
||||||
:workflow_key="'wf_vehicle'"
|
|
||||||
title='车辆预定'
|
|
||||||
:t_id="form.id"
|
|
||||||
:ticket_="form.ticket_"
|
|
||||||
:ticket_data="ticket_data"
|
|
||||||
@success="$emit('success', localMode)"
|
|
||||||
:submit_b_func="submit_b_func"
|
|
||||||
ref="ticketd_b"
|
|
||||||
/>
|
|
||||||
</el-footer>
|
|
||||||
</el-main>
|
|
||||||
<el-aside width="20%" v-if="form.ticket_">
|
|
||||||
<ticketd
|
|
||||||
:ticket_="form.ticket_"
|
|
||||||
:ticket_data="ticket_data"
|
|
||||||
@success="$emit('success')"
|
|
||||||
></ticketd>
|
|
||||||
</el-aside>
|
|
||||||
</el-container>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import ticketd_b from "@/views/wf/ticketd_b.vue";
|
|
||||||
import ticketd from '@/views/wf/ticketd.vue'
|
|
||||||
export default {
|
|
||||||
name: "index",
|
|
||||||
components: {
|
|
||||||
ticketd_b, ticketd
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
mode: {
|
|
||||||
type: String,
|
|
||||||
default: "show",
|
|
||||||
},
|
|
||||||
t_id: {
|
|
||||||
type: String,
|
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
bookingTitle: "车辆预定",
|
|
||||||
mroomName:'',
|
|
||||||
form: {},
|
|
||||||
ticket_data: {},
|
|
||||||
ticket_:null,
|
|
||||||
//验证规则
|
|
||||||
rules: {
|
|
||||||
vehiclereg: [{ required: true, message: "请输入车辆名称", trigger: "blur" }],
|
|
||||||
vdate: [{ required: true, message: "请选择时间", trigger: "blur" }],
|
|
||||||
// title: [{ required: true, message: "请输入容纳人数", trigger: "blur" }],
|
|
||||||
},
|
|
||||||
timesList:[
|
|
||||||
{value:0,label:'00:00-00:30',isSelect:false,sloted:false},
|
|
||||||
{value:1,label:'00:30-01:00',isSelect:false,sloted:false},
|
|
||||||
{value:2,label:'01:00-01:30',isSelect:false,sloted:false},
|
|
||||||
{value:3,label:'01:30-02:00',isSelect:false,sloted:false},
|
|
||||||
{value:4,label:'02:00-02:30',isSelect:false,sloted:false},
|
|
||||||
{value:5,label:'02:30-03:00',isSelect:false,sloted:false},
|
|
||||||
{value:6,label:'03:00-03:30',isSelect:false,sloted:false},
|
|
||||||
{value:7,label:'03:30-04:00',isSelect:false,sloted:false},
|
|
||||||
{value:8,label:'04:00-04:30',isSelect:false,sloted:false},
|
|
||||||
{value:9,label:'04:30-05:00',isSelect:false,sloted:false},
|
|
||||||
{value:10,label:'05:00-05:30',isSelect:false,sloted:false},
|
|
||||||
{value:11,label:'05:30-06:00',isSelect:false,sloted:false},
|
|
||||||
{value:12,label:'06:00-06:30',isSelect:false,sloted:false},
|
|
||||||
{value:13,label:'06:30-07:00',isSelect:false,sloted:false},
|
|
||||||
{value:14,label:'07:00-07:30',isSelect:false,sloted:false},
|
|
||||||
{value:15,label:'07:30-08:00',isSelect:false,sloted:false},
|
|
||||||
{value:16,label:'08:00-08:30',isSelect:false,sloted:false},
|
|
||||||
{value:17,label:'08:30-09:00',isSelect:false,sloted:false},
|
|
||||||
{value:18,label:'09:00-09:30',isSelect:false,sloted:false},
|
|
||||||
{value:19,label:'09:30-10:00',isSelect:false,sloted:false},
|
|
||||||
{value:20,label:'10:00-10:30',isSelect:false,sloted:false},
|
|
||||||
{value:21,label:'10:30-11:00',isSelect:false,sloted:false},
|
|
||||||
{value:22,label:'11:00-11:30',isSelect:false,sloted:false},
|
|
||||||
{value:23,label:'11:30-12:00',isSelect:false,sloted:false},
|
|
||||||
{value:24,label:'12:00-12:30',isSelect:false,sloted:false},
|
|
||||||
{value:25,label:'12:30-13:00',isSelect:false,sloted:false},
|
|
||||||
{value:26,label:'13:00-13:30',isSelect:false,sloted:false},
|
|
||||||
{value:27,label:'13:30-14:00',isSelect:false,sloted:false},
|
|
||||||
{value:28,label:'14:00-14:30',isSelect:false,sloted:false},
|
|
||||||
{value:29,label:'14:30-15:00',isSelect:false,sloted:false},
|
|
||||||
{value:30,label:'15:00-15:30',isSelect:false,sloted:false},
|
|
||||||
{value:31,label:'15:30-16:00',isSelect:false,sloted:false},
|
|
||||||
{value:32,label:'16:00-16:30',isSelect:false,sloted:false},
|
|
||||||
{value:33,label:'16:30-17:00',isSelect:false,sloted:false},
|
|
||||||
{value:34,label:'17:00-17:30',isSelect:false,sloted:false},
|
|
||||||
{value:35,label:'17:30-18:00',isSelect:false,sloted:false},
|
|
||||||
{value:36,label:'18:00-18:30',isSelect:false,sloted:false},
|
|
||||||
{value:37,label:'18:30-19:00',isSelect:false,sloted:false},
|
|
||||||
{value:38,label:'19:00-19:30',isSelect:false,sloted:false},
|
|
||||||
{value:39,label:'19:30-20:00',isSelect:false,sloted:false},
|
|
||||||
{value:40,label:'20:00-20:30',isSelect:false,sloted:false},
|
|
||||||
{value:41,label:'20:30-21:00',isSelect:false,sloted:false},
|
|
||||||
{value:42,label:'21:00-21:30',isSelect:false,sloted:false},
|
|
||||||
{value:43,label:'21:30-22:00',isSelect:false,sloted:false},
|
|
||||||
{value:44,label:'22:00-22:30',isSelect:false,sloted:false},
|
|
||||||
{value:45,label:'22:30-23:00',isSelect:false,sloted:false},
|
|
||||||
{value:46,label:'23:00-23:30',isSelect:false,sloted:false},
|
|
||||||
{value:47,label:'23:30-24:00',isSelect:false,sloted:false}
|
|
||||||
],
|
|
||||||
vehRegList: [],
|
|
||||||
timeselectList: [],
|
|
||||||
localMode: this.mode,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
let that = this;
|
|
||||||
that.getmRoomList();
|
|
||||||
if (that.t_id){
|
|
||||||
that.getTid();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
that.localMode = "add";
|
|
||||||
that.form.belong_dept = that.$TOOL.data.get("USER_INFO").belong_dept;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
'form.end_km'(val) {
|
|
||||||
this.ticket_data.end_km = val
|
|
||||||
},
|
|
||||||
deep:true
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getmRoomList(){
|
|
||||||
let that = this;
|
|
||||||
that.$API.ofm.vehicle.list.req({page:0}).then(res=>{
|
|
||||||
that.vehRegList = res;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getTid (){
|
|
||||||
var that = this;
|
|
||||||
that.$API.ofm.vehicleUse.item.req(that.t_id).then(res=>{
|
|
||||||
console.log('res', res)
|
|
||||||
that.form = res;
|
|
||||||
that.handleEidt(that.t_id);
|
|
||||||
if(res.ticket_.state_.type == 1 && res.create_by == that.$TOOL.data.get("USER_INFO").id ) {
|
|
||||||
that.localMode = "edit";
|
|
||||||
}else{
|
|
||||||
that.localMode = "show";
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getmRoomSlot(){
|
|
||||||
let that = this;
|
|
||||||
let form = {};
|
|
||||||
form.page = 0;
|
|
||||||
form.vehiclereg = that.form.vehiclereg;
|
|
||||||
form.vdate = that.form.vdate;
|
|
||||||
that.timesList.forEach(slot=>{
|
|
||||||
slot.sloted = false;
|
|
||||||
})
|
|
||||||
that.$API.ofm.vehicleslot.list.req(form).then(res=>{
|
|
||||||
res.forEach(item=>{
|
|
||||||
that.timesList[item.slot].sloted = true;
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
mdateChange(){
|
|
||||||
let that = this;
|
|
||||||
if(that.form.vehiclereg!==''&&that.form.vehiclereg!==null){
|
|
||||||
that.getmRoomSlot();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
vehChange(){
|
|
||||||
let that = this;
|
|
||||||
that.vehRegList.forEach(item=>{
|
|
||||||
if(item.id == that.form.vehiclereg){
|
|
||||||
that.mroomName = item.name;
|
|
||||||
that.bookingTitle = item.name+"预定";
|
|
||||||
if(that.form.vdate!==''&&that.form.vdate!==null){
|
|
||||||
that.getmRoomSlot();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
selectTime(index){
|
|
||||||
let that = this;
|
|
||||||
that.form.slots = [];
|
|
||||||
that.timesList[index].isSelect = !that.timesList[index].isSelect;
|
|
||||||
that.timesList.forEach(item=>{
|
|
||||||
if(item.isSelect){
|
|
||||||
that.form.slots.push(item.value);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async submit_b_func() {
|
|
||||||
let that = this;
|
|
||||||
if(that.localMode == "add") {
|
|
||||||
that.form.belong_dept = that.$TOOL.data.get("USER_INFO").belong_dept;
|
|
||||||
let res = await that.$API.ofm.vehicleUse.create.req(that.form);
|
|
||||||
that.form.id = res.id;
|
|
||||||
} else if (that.localMode == "edit") {
|
|
||||||
await that.$API.ofm.vehicleUse.update.req(that.form.id, that.form);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleEidt(id) {
|
|
||||||
let that = this;
|
|
||||||
that.$API.ofm.vehicleslot.list.req({booking:id,page:0}).then(res=>{
|
|
||||||
res.forEach(item=>{
|
|
||||||
that.timesList[item.slot].isSelect = true;
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//搜索
|
|
||||||
handleQuery() {
|
|
||||||
this.$refs.table.queryData(this.query);
|
|
||||||
},
|
|
||||||
slotMessage(){
|
|
||||||
this.$message.warning("该时间段已被预约,不可选择");
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style scoped>
|
|
||||||
.left-panel-group {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 6px;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
.timeBlock{
|
|
||||||
width: 100px;
|
|
||||||
height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
margin-top: 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
margin-right: 10px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 5px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background-color: #b9f0cb;
|
|
||||||
}
|
|
||||||
.selectedTimeBlock{
|
|
||||||
background-color: #00a870;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.slotedTimeBlock{
|
|
||||||
background-color: #fac275;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue