|
@@ -0,0 +1,193 @@
|
|
|
+<script setup lang="ts">
|
|
|
+import XEUtils from "xe-utils";
|
|
|
+import type { FormRules } from "element-plus";
|
|
|
+
|
|
|
+const props = defineProps<{
|
|
|
+ info: any;
|
|
|
+}>();
|
|
|
+
|
|
|
+const sort = [
|
|
|
+ "早上",
|
|
|
+ "day600",
|
|
|
+ "day630",
|
|
|
+ "day700",
|
|
|
+ "day730",
|
|
|
+ "day800",
|
|
|
+ "day830",
|
|
|
+ "day900",
|
|
|
+ "day930",
|
|
|
+ "day1000",
|
|
|
+ "day1030",
|
|
|
+ "day1100",
|
|
|
+ "day1130",
|
|
|
+ "day1200",
|
|
|
+ "day1230",
|
|
|
+ "下午",
|
|
|
+ "day1300",
|
|
|
+ "day1330",
|
|
|
+ "day1400",
|
|
|
+ "day1430",
|
|
|
+ "day1500",
|
|
|
+ "day1530",
|
|
|
+ "day1600",
|
|
|
+ "day1630",
|
|
|
+ "day1700",
|
|
|
+ "day1730",
|
|
|
+ "day1800",
|
|
|
+ "day1830",
|
|
|
+ "day1900",
|
|
|
+ "day1930",
|
|
|
+ "day2000",
|
|
|
+ "day2030",
|
|
|
+ "day2100",
|
|
|
+ "day2130",
|
|
|
+ "day2200",
|
|
|
+ "day2230",
|
|
|
+ "day2300",
|
|
|
+ "day2330",
|
|
|
+ "第二天",
|
|
|
+ "day2400",
|
|
|
+ "day030",
|
|
|
+ "day100",
|
|
|
+ "day130",
|
|
|
+ "day200",
|
|
|
+ "day230",
|
|
|
+ "day300",
|
|
|
+ "day330",
|
|
|
+ "day400",
|
|
|
+ "day430",
|
|
|
+ "day500",
|
|
|
+ "day530",
|
|
|
+];
|
|
|
+
|
|
|
+const rules: FormRules<any> = {
|
|
|
+ code: [
|
|
|
+ { required: true, trigger: "blur", message: "必填" },
|
|
|
+ {
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
+ console.log(value);
|
|
|
+ callback(new Error("cw"));
|
|
|
+ },
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ comm: [{ required: true, trigger: "blur", message: "必填" }],
|
|
|
+ printName: [{ required: true, trigger: "blur", message: "必填" }],
|
|
|
+};
|
|
|
+
|
|
|
+function insertString(originalStr, insertStr, position) {
|
|
|
+ return (
|
|
|
+ originalStr.slice(0, position) + insertStr + originalStr.slice(position)
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
+function getLabelName(item: string) {
|
|
|
+ const replace = item.replace("day", "");
|
|
|
+ if (replace.length == 4) {
|
|
|
+ const position = 2;
|
|
|
+ const time = XEUtils.toNumber(replace.slice(0, position));
|
|
|
+ const time12 = time - 12;
|
|
|
+ if (time12 >= 0) {
|
|
|
+ return getLabelName(replace.replace(time, time12));
|
|
|
+ }
|
|
|
+ return insertString(replace, ":", position);
|
|
|
+ } else {
|
|
|
+ return insertString(replace, ":", 1);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function changeDay(val, name) {
|
|
|
+ if (val) {
|
|
|
+ props.info[name] = 1;
|
|
|
+ } else {
|
|
|
+ props.info[name] = null;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const days = ["一", "二", "三", "四", "五", "六", "日"];
|
|
|
+
|
|
|
+function changeWeek(val, index) {
|
|
|
+ if (val) {
|
|
|
+ props.info[`week${index}`] = "Y";
|
|
|
+ } else {
|
|
|
+ props.info[`week${index}`] = "N";
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function getWekk(item: number) {
|
|
|
+ item -= 1;
|
|
|
+ return `周${days[item]}`;
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <el-form
|
|
|
+ inline
|
|
|
+ label-width="120px"
|
|
|
+ size="default"
|
|
|
+ style="height: 100%; overflow: auto"
|
|
|
+ :rules="rules"
|
|
|
+ :model="info"
|
|
|
+ >
|
|
|
+ <el-form-item label="编码:" prop="code">
|
|
|
+ <el-input v-model="info.code" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="名称:" prop="comm">
|
|
|
+ <el-input v-model="info.comm" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="打印名称:" prop="printName">
|
|
|
+ <el-input v-model="info.printName" maxlength="5" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="每周:">
|
|
|
+ <el-switch
|
|
|
+ v-model="info.weekDay"
|
|
|
+ active-value="Y"
|
|
|
+ inactive-value="N"
|
|
|
+ active-text="是"
|
|
|
+ inactive-text="否"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="停用:">
|
|
|
+ <el-switch
|
|
|
+ v-model="props.info.delFlag"
|
|
|
+ active-value="1"
|
|
|
+ inactive-value="0"
|
|
|
+ active-text="是"
|
|
|
+ inactive-text="否"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <template v-for="item in sort" :key="item">
|
|
|
+ <el-divider v-if="!item.startsWith('day')">
|
|
|
+ {{ item }}
|
|
|
+ </el-divider>
|
|
|
+
|
|
|
+ <el-form-item v-else :label="getLabelName(item)">
|
|
|
+ <el-checkbox
|
|
|
+ :model-value="props.info[item] != null"
|
|
|
+ @update:modelValue="val => changeDay(val, item)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ <el-divider> 星期</el-divider>
|
|
|
+ <template v-for="value in 7">
|
|
|
+ <el-form-item :label="getWekk(value)">
|
|
|
+ <el-checkbox
|
|
|
+ :model-value="props.info[`week${value}`] === 'Y'"
|
|
|
+ @update:modelValue="val => changeWeek(val, value)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ <el-divider> 其他</el-divider>
|
|
|
+ <el-form-item label="时间标志:">
|
|
|
+ <el-switch
|
|
|
+ active-text="持续"
|
|
|
+ inactive-text="普通"
|
|
|
+ active-value="1"
|
|
|
+ inactive-value="0"
|
|
|
+ v-model="info.specialFlag"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style lang="scss"></style>
|