|
|
@@ -1,23 +1,24 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-row :gutter="8" v-if="pageType">
|
|
|
- <el-col :span="2">
|
|
|
- <!-- @input="
|
|
|
- (value) =>
|
|
|
- (formData.cycleValue = value.replace(/^(0+)|[^\d]+/g, ''))
|
|
|
- " -->
|
|
|
+ <el-row :gutter="24" v-if="pageType">
|
|
|
+ <el-col :span="4">
|
|
|
<el-input
|
|
|
+ @input="
|
|
|
+ (value) =>
|
|
|
+ (formData.frequencyValue = value.replace(/^(0+)|[^\d]+/g, ''))
|
|
|
+ "
|
|
|
class="cycle_value"
|
|
|
size="small"
|
|
|
- v-model.number="formData.cycleValue"
|
|
|
+ v-model.number="formData.frequencyValue"
|
|
|
@change="cycleValueChange"
|
|
|
placeholder="请输入"
|
|
|
- :disabled="isBindPlan || formData.cycleType == 1"
|
|
|
+ :disabled="isBindPlan"
|
|
|
+ maxlength="3"
|
|
|
></el-input>
|
|
|
</el-col>
|
|
|
- <el-col :span="3">
|
|
|
+ <el-col :span="4">
|
|
|
<el-select
|
|
|
- v-model="formData.cycleType"
|
|
|
+ v-model="formData.frequencyUnit"
|
|
|
size="small"
|
|
|
@change="handleCycleTypeChange"
|
|
|
:disabled="isBindPlan"
|
|
|
@@ -25,15 +26,15 @@
|
|
|
<el-option
|
|
|
v-for="item in cycleOpt"
|
|
|
:key="item.code"
|
|
|
- :label="item.desc"
|
|
|
+ :label="item.label"
|
|
|
:value="item.code"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="8" v-if="[2, 3, 4, 5].includes(formData.cycleType)">
|
|
|
+ <el-col :span="8" v-if="[1, 2, 4, 5].includes(formData.frequencyUnit)">
|
|
|
<div
|
|
|
- v-for="(item, index) in ruleCycleList"
|
|
|
+ v-for="(item, index) in recordRulesCycleList"
|
|
|
:key="index"
|
|
|
class="cycle01_box"
|
|
|
>
|
|
|
@@ -42,7 +43,7 @@
|
|
|
size="small"
|
|
|
oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
|
|
|
@input="(e) => inputMonth(e, index)"
|
|
|
- v-if="[5].includes(formData.cycleType)"
|
|
|
+ v-if="[5].includes(formData.frequencyUnit)"
|
|
|
:disabled="isBindPlan"
|
|
|
>
|
|
|
<template #suffix>月</template>
|
|
|
@@ -53,7 +54,7 @@
|
|
|
size="small"
|
|
|
oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
|
|
|
@input="(e) => inputDay(e, index)"
|
|
|
- v-if="[4, 5].includes(formData.cycleType)"
|
|
|
+ v-if="[4, 5].includes(formData.frequencyUnit)"
|
|
|
:disabled="isBindPlan"
|
|
|
>
|
|
|
<template #suffix>日</template>
|
|
|
@@ -64,7 +65,7 @@
|
|
|
size="small"
|
|
|
oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
|
|
|
@input="(e) => inputHour(e, index)"
|
|
|
- v-if="[3, 4, 5].includes(formData.cycleType)"
|
|
|
+ v-if="[2, 4, 5].includes(formData.frequencyUnit)"
|
|
|
:disabled="isBindPlan"
|
|
|
>
|
|
|
<template #suffix>时</template>
|
|
|
@@ -85,19 +86,20 @@
|
|
|
<el-row v-else>
|
|
|
<el-col :span="24" class="cycle_time_column">
|
|
|
<span style="margin-right: 20px"
|
|
|
- >{{ formData.cycleValue }}{{ cycleOptObj[formData.cycleType] }}</span
|
|
|
+ >{{ formData.frequencyValue
|
|
|
+ }}{{ cycleOptObj[formData.frequencyUnit] }}</span
|
|
|
>
|
|
|
- <div v-if="[2, 3, 4, 5].includes(formData.cycleType)">
|
|
|
- <span v-if="[5].includes(formData.cycleType)"
|
|
|
- >{{ ruleCycleList[0].month }}月</span
|
|
|
+ <div v-if="[1, 2, 4, 5].includes(formData.frequencyUnit)">
|
|
|
+ <span v-if="[5].includes(formData.frequencyUnit)"
|
|
|
+ >{{ recordRulesCycleList[0].month }}月</span
|
|
|
>
|
|
|
- <span v-if="[4, 5].includes(formData.cycleType)"
|
|
|
- >{{ ruleCycleList[0].day }}日</span
|
|
|
+ <span v-if="[4, 5].includes(formData.frequencyUnit)"
|
|
|
+ >{{ recordRulesCycleList[0].day }}日</span
|
|
|
>
|
|
|
- <span v-if="[3, 4, 5].includes(formData.cycleType)"
|
|
|
- >{{ ruleCycleList[0].hour }}时</span
|
|
|
+ <span v-if="[2, 4, 5].includes(formData.frequencyUnit)"
|
|
|
+ >{{ recordRulesCycleList[0].hour }}时</span
|
|
|
>
|
|
|
- <span>{{ ruleCycleList[0].minute }}分</span>
|
|
|
+ <span>{{ recordRulesCycleList[0].minute }}分</span>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -105,9 +107,9 @@
|
|
|
<!-- 根据周期类型展示时间组件 11,12,13,14 -->
|
|
|
<div>
|
|
|
<!-- 次/天 -->
|
|
|
- <el-row :gutter="20" v-if="formData.cycleType === 6">
|
|
|
+ <el-row :gutter="20" v-if="formData.frequencyUnit === 11">
|
|
|
<el-col
|
|
|
- v-for="(item, index) in ruleCycleList"
|
|
|
+ v-for="(item, index) in recordRulesCycleList"
|
|
|
:key="index"
|
|
|
:span="6"
|
|
|
class="cycle_item"
|
|
|
@@ -144,9 +146,9 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 次/周 -->
|
|
|
- <el-row :gutter="20" v-else-if="formData.cycleType === 12">
|
|
|
+ <el-row :gutter="20" v-else-if="formData.frequencyUnit === 12">
|
|
|
<el-col
|
|
|
- v-for="(item, index) in ruleCycleList"
|
|
|
+ v-for="(item, index) in recordRulesCycleList"
|
|
|
:key="index"
|
|
|
:span="6"
|
|
|
class="cycle_item"
|
|
|
@@ -184,9 +186,9 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 次/月 -->
|
|
|
- <el-row :gutter="20" v-else-if="formData.cycleType === 7">
|
|
|
+ <el-row :gutter="20" v-else-if="formData.frequencyUnit === 13">
|
|
|
<el-col
|
|
|
- v-for="(item, index) in ruleCycleList"
|
|
|
+ v-for="(item, index) in recordRulesCycleList"
|
|
|
:key="index"
|
|
|
:span="6"
|
|
|
class="cycle_item"
|
|
|
@@ -221,9 +223,9 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 次/年 -->
|
|
|
- <el-row :gutter="20" v-else-if="formData.cycleType === 8">
|
|
|
+ <el-row :gutter="20" v-else-if="formData.frequencyUnit === 14">
|
|
|
<el-col
|
|
|
- v-for="(item, index) in ruleCycleList"
|
|
|
+ v-for="(item, index) in recordRulesCycleList"
|
|
|
:key="index"
|
|
|
:span="6"
|
|
|
class="cycle_item"
|
|
|
@@ -275,7 +277,6 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { frequencyUnitList } from '@/api/releasePermitRules/index';
|
|
|
export default {
|
|
|
props: {
|
|
|
formData: {
|
|
|
@@ -299,17 +300,16 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- ruleCycleList: [
|
|
|
- // {
|
|
|
- // year: '', // 周期年
|
|
|
- // month: '', // 周期月
|
|
|
- // week: '', // 周期周
|
|
|
- // day: '', // 周期日
|
|
|
- // hour: '', // 周期时
|
|
|
- // minute: '', // 周期分
|
|
|
- // second: '' // 周期秒
|
|
|
- // }
|
|
|
- ],
|
|
|
+ // {
|
|
|
+ // year: '', // 周期年
|
|
|
+ // month: '', // 周期月
|
|
|
+ // week: '', // 周期周
|
|
|
+ // day: '', // 周期日
|
|
|
+ // hour: '', // 周期时
|
|
|
+ // minute: '', // 周期分
|
|
|
+ // second: '' // 周期秒
|
|
|
+ // }
|
|
|
+ recordRulesCycleList: [],
|
|
|
weekList: [
|
|
|
{ value: 1, label: '周一' },
|
|
|
{ value: 2, label: '周二' },
|
|
|
@@ -320,74 +320,70 @@
|
|
|
{ value: 7, label: '周日' }
|
|
|
],
|
|
|
cycleOptObj: {
|
|
|
- 1: '次',
|
|
|
- 2: '时/次',
|
|
|
- 3: '天/次',
|
|
|
+ 0: '次数',
|
|
|
+ 1: '时/次',
|
|
|
+ 2: '天/次',
|
|
|
//3: '周/次',
|
|
|
4: '月/次',
|
|
|
5: '年/次',
|
|
|
- 6: '次/天',
|
|
|
+ 11: '次/天',
|
|
|
//12: '次/周',
|
|
|
- 7: '次/月',
|
|
|
- 8: '次/年'
|
|
|
+ 13: '次/月',
|
|
|
+ 14: '次/年'
|
|
|
},
|
|
|
cycleOpt: [
|
|
|
- // { code: 1, label: '时/次' },
|
|
|
- // { code: 2, label: '天/次' },
|
|
|
- // //{ code: 3, label: '周/次' },
|
|
|
- // { code: 4, label: '月/次' },
|
|
|
- // { code: 5, label: '年/次' },
|
|
|
- // { code: 11, label: '次/天' },
|
|
|
- // //{ code: 12, label: '次/周' },
|
|
|
- // { code: 13, label: '次/月' },
|
|
|
- // { code: 14, label: '次/年' }
|
|
|
- ],
|
|
|
- // frequencyUnit:{}
|
|
|
+ { code: 0, label: '次数' },
|
|
|
+ { code: 1, label: '时/次' },
|
|
|
+ { code: 2, label: '天/次' },
|
|
|
+ //{ code: 3, label: '周/次' },
|
|
|
+ { code: 4, label: '月/次' },
|
|
|
+ { code: 5, label: '年/次' },
|
|
|
+ { code: 11, label: '次/天' },
|
|
|
+ //{ code: 12, label: '次/周' },
|
|
|
+ { code: 13, label: '次/月' },
|
|
|
+ { code: 14, label: '次/年' }
|
|
|
+ ]
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
|
- formData(val) {
|
|
|
- if (val.cycle) {
|
|
|
- this.ruleCycleList = val.cycle;
|
|
|
- }
|
|
|
+ formData: {
|
|
|
+ handler(val) {
|
|
|
+ if (val.recordRulesCycleList) {
|
|
|
+ this.recordRulesCycleList = val.recordRulesCycleList;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // deep: true,
|
|
|
+ // immediate: true
|
|
|
}
|
|
|
},
|
|
|
- mounted() {
|
|
|
- this.getFrequency();
|
|
|
- },
|
|
|
methods: {
|
|
|
- async getFrequency() {
|
|
|
- try {
|
|
|
- const res = await frequencyUnitList();
|
|
|
- // let list = res.map((item) => {
|
|
|
- // return {
|
|
|
- // code: item.code,
|
|
|
- // label: item.desc
|
|
|
- // };
|
|
|
- // });
|
|
|
- this.cycleOpt = res;
|
|
|
- } catch (err) {}
|
|
|
+ setRecordRulesCycleList(list) {
|
|
|
+ this.recordRulesCycleList = list;
|
|
|
},
|
|
|
// 巡点检周期输入数量
|
|
|
cycleValueChange(val) {
|
|
|
- const cycleType01 = [2, 3, 4, 5];
|
|
|
- const cycleType02 = [6, 7, 8];
|
|
|
- this.ruleCycleList = [];
|
|
|
+ console.log(val);
|
|
|
+ console.log(this.formData.frequencyUnit);
|
|
|
+ const cycleType01 = [1, 2, 4, 5];
|
|
|
+ const cycleType02 = [11, 13, 14];
|
|
|
+ this.recordRulesCycleList = [];
|
|
|
|
|
|
// 次在后
|
|
|
- if (cycleType01.includes(this.formData.cycleType)) {
|
|
|
- this.ruleCycleList.push({
|
|
|
+ console.log(cycleType01.includes(this.formData.frequencyUnit));
|
|
|
+ if (cycleType01.includes(this.formData.frequencyUnit)) {
|
|
|
+ this.recordRulesCycleList.push({
|
|
|
month: 1, // 周期月
|
|
|
day: 1, // 周期日
|
|
|
hour: 0, // 周期时
|
|
|
minute: 0 // 周期分
|
|
|
});
|
|
|
+ console.log(this.recordRulesCycleList);
|
|
|
}
|
|
|
|
|
|
// 次在前
|
|
|
- if (cycleType02.includes(this.formData.cycleType)) {
|
|
|
+ if (cycleType02.includes(this.formData.frequencyUnit)) {
|
|
|
for (let i = 0; i < val; i++) {
|
|
|
- this.ruleCycleList.push({
|
|
|
+ this.recordRulesCycleList.push({
|
|
|
month: 1, // 周期月
|
|
|
day: 1, // 周期日
|
|
|
hour: 0, // 周期时
|
|
|
@@ -397,65 +393,60 @@
|
|
|
}
|
|
|
|
|
|
// 时/次
|
|
|
- if (this.formData.cycleType === 1) {
|
|
|
- this.ruleCycleList.forEach((item) => {
|
|
|
+ if (this.formData.frequencyUnit === 1) {
|
|
|
+ this.recordRulesCycleList.forEach((item) => {
|
|
|
delete item.month;
|
|
|
delete item.day;
|
|
|
delete item.hour;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ console.log(this.recordRulesCycleList);
|
|
|
// 天/次、次/天
|
|
|
- if ([3, 6].includes(this.formData.cycleType)) {
|
|
|
- this.ruleCycleList.forEach((item) => {
|
|
|
+ if ([2, 11].includes(this.formData.frequencyUnit)) {
|
|
|
+ this.recordRulesCycleList.forEach((item) => {
|
|
|
delete item.month;
|
|
|
delete item.day;
|
|
|
});
|
|
|
}
|
|
|
// 月/次、次/月
|
|
|
- if ([4, 7].includes(this.formData.cycleType)) {
|
|
|
- this.ruleCycleList.forEach((item) => {
|
|
|
+ if ([4, 13].includes(this.formData.frequencyUnit)) {
|
|
|
+ this.recordRulesCycleList.forEach((item) => {
|
|
|
delete item.month;
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// 周期类型选择
|
|
|
- handleCycleTypeChange(val) {
|
|
|
- // this.frequencyUnit = this.cycleOpt.find((el)=>el.code == val)
|
|
|
- if (val == 1) {
|
|
|
- this.$set(this.formData, 'cycleValue', 1);
|
|
|
- // this.formData.cycleValue = 1;
|
|
|
- }
|
|
|
- // console.log(val,'val');
|
|
|
- this.cycleValueChange(this.formData.cycleValue);
|
|
|
+ handleCycleTypeChange() {
|
|
|
+ this.cycleValueChange(this.formData.frequencyValue);
|
|
|
},
|
|
|
|
|
|
// 输入月
|
|
|
inputMonth(e, index) {
|
|
|
if (e > 12) {
|
|
|
- this.ruleCycleList[index].month = 1;
|
|
|
+ this.recordRulesCycleList[index].month = 1;
|
|
|
return this.$message.warning('月份最大值为12月');
|
|
|
}
|
|
|
},
|
|
|
// 输入日
|
|
|
inputDay(e, index) {
|
|
|
if (e > 31) {
|
|
|
- this.ruleCycleList[index].day = 1;
|
|
|
+ this.recordRulesCycleList[index].day = 1;
|
|
|
return this.$message.warning('日期最大值为31日');
|
|
|
}
|
|
|
},
|
|
|
// 输入时
|
|
|
inputHour(e, index) {
|
|
|
if (e > 23) {
|
|
|
- this.ruleCycleList[index].hour = 0;
|
|
|
+ this.recordRulesCycleList[index].hour = 0;
|
|
|
return this.$message.warning('时间最大值为23时');
|
|
|
}
|
|
|
},
|
|
|
// 输入时
|
|
|
inputMinute(e, index) {
|
|
|
if (e > 59) {
|
|
|
- this.ruleCycleList[index].minute = 0;
|
|
|
+ this.recordRulesCycleList[index].minute = 0;
|
|
|
return this.$message.warning('分钟最大值为59分');
|
|
|
}
|
|
|
}
|
|
|
@@ -464,6 +455,9 @@
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
+ :deep(.el-input) {
|
|
|
+ // width:100px;
|
|
|
+ }
|
|
|
.cycle_item {
|
|
|
display: flex;
|
|
|
align-items: center;
|