|
@@ -7,19 +7,19 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div v-if="formCode.type === 1" class="mt-2 bg-[#EFF5FF] py-[20px]">
|
|
|
- <el-form :model="formCode" :inline="true" class="flex items-center justify-center">
|
|
|
- <div class="w-120px">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form ref="formCodeRef" :model="formCode" :inline="true" class="flex items-center justify-center" :rules="formCodeRules">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="startNumber1">
|
|
|
<el-input v-model="formCode.startNumber1" placeholder="数值(起)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div class="w-120px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="endNumber1">
|
|
|
<el-input v-model="formCode.endNumber1" placeholder="数值(始)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="increType1">
|
|
|
<el-select
|
|
|
v-model="formCode.increType1"
|
|
|
placeholder="递增分类"
|
|
@@ -33,7 +33,7 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="cycleType1">
|
|
|
<el-select
|
|
|
v-model="formCode.cycleType1"
|
|
|
placeholder="循环分类"
|
|
@@ -46,8 +46,8 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
- <div class="ml-1 w-120px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="ml-1 w-150px">
|
|
|
+ <el-form-item label=" " prop="cycleTypeGroup1">
|
|
|
<el-input v-model="formCode.cycleTypeGroup1" placeholder="循环组数" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -60,20 +60,20 @@
|
|
|
</div>
|
|
|
<div v-if="formCode.type === 2" class="mt-2 flex justify-center bg-[#EFF5FF] py-[20px]">
|
|
|
<div>
|
|
|
- <el-form :model="formCode" :inline="true">
|
|
|
+ <el-form ref="formCodeRef1" :model="formCode" :inline="true" :rules="formCodeRules">
|
|
|
<div class="flex items-center">
|
|
|
- <div class="w-125px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="startNumber1">
|
|
|
<el-input v-model="formCode.startNumber1" placeholder="数值1(起)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div class="w-125px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="endNumber1">
|
|
|
<el-input v-model="formCode.endNumber1" placeholder="数值1(始)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="increType1">
|
|
|
<el-select
|
|
|
v-model="formCode.increType1"
|
|
|
placeholder="递增分类"
|
|
@@ -87,7 +87,7 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="cycleType1">
|
|
|
<el-select
|
|
|
v-model="formCode.cycleType1"
|
|
|
placeholder="循环分类"
|
|
@@ -100,15 +100,15 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
- <div class="ml-1 w-120px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="ml-1 w-150px">
|
|
|
+ <el-form-item label=" " prop="cycleTypeGroup1">
|
|
|
<el-input v-model="formCode.cycleTypeGroup1" placeholder="循环组数" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mt-4 flex items-start">
|
|
|
<div class="mr-4 w-125px">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="separator">
|
|
|
<el-select
|
|
|
v-model="formCode.separator"
|
|
|
placeholder="选择符号"
|
|
@@ -125,18 +125,18 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mt-4 flex items-center">
|
|
|
- <div class="w-125px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="startNumber2">
|
|
|
<el-input v-model="formCode.startNumber2" placeholder="数值2(起)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div class="w-125px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="w-150px">
|
|
|
+ <el-form-item label=" " prop="endNumber2">
|
|
|
<el-input v-model="formCode.endNumber2" placeholder="数值2(始)" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="increType2">
|
|
|
<el-select
|
|
|
v-model="formCode.increType2"
|
|
|
placeholder="递增分类"
|
|
@@ -150,7 +150,7 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="ml-1">
|
|
|
- <el-form-item label="">
|
|
|
+ <el-form-item label=" " prop="cycleType2">
|
|
|
<el-select
|
|
|
v-model="formCode.cycleType2"
|
|
|
placeholder="循环分类"
|
|
@@ -163,8 +163,8 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
- <div class="ml-1 w-120px">
|
|
|
- <el-form-item label="">
|
|
|
+ <div class="ml-1 w-150px">
|
|
|
+ <el-form-item label=" " prop="cycleTypeGroup2">
|
|
|
<el-input v-model="formCode.cycleTypeGroup2" placeholder="循环组数" clearable />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -183,6 +183,7 @@ import { onMounted, ref, watch } from 'vue'
|
|
|
import wbsApi from '~api/data-fill/wbs'
|
|
|
|
|
|
import { getDictionaryData } from '~uti/tools'
|
|
|
+import { formValidate } from 'js-fast-way'
|
|
|
|
|
|
const props = defineProps({
|
|
|
projectId: [String, Number],
|
|
@@ -224,6 +225,111 @@ const formCode = ref({
|
|
|
type:1,
|
|
|
|
|
|
})
|
|
|
+
|
|
|
+const formCodeRules = {
|
|
|
+ startNumber1: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入数值(起)',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ endNumber1: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入数值(始)',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ increType1: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择递增分类',
|
|
|
+ },
|
|
|
+ cycleType1: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择循环分类',
|
|
|
+ },
|
|
|
+ cycleTypeGroup1: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入循环组数',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ startNumber2: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入数值(起)',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ endNumber2: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入数值(始)',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ increType2: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择递增分类',
|
|
|
+ },
|
|
|
+ cycleType2: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择循环分类',
|
|
|
+ },
|
|
|
+ cycleTypeGroup2: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入循环组数',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d*$/,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '只能输入正整数',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ separator: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择选择符号',
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+const formCodeRef = ref(null)
|
|
|
+const formCodeRef1 = ref(null)
|
|
|
const separatorOptions = ref([])
|
|
|
const getSeparatorOptions = async () => {
|
|
|
separatorOptions.value = await getDictionaryData('separator', true )
|
|
@@ -231,7 +337,7 @@ const getSeparatorOptions = async () => {
|
|
|
//渲染完成
|
|
|
onMounted(() => {
|
|
|
getSeparatorOptions()
|
|
|
- console.log(key.value, 'key.value')
|
|
|
+
|
|
|
|
|
|
})
|
|
|
|
|
@@ -239,6 +345,14 @@ onMounted(() => {
|
|
|
|
|
|
|
|
|
const saveBatchCode = async ()=>{
|
|
|
+
|
|
|
+ const validate = formCode.value.type === 1
|
|
|
+ ? await formValidate(formCodeRef.value, formCodeRules)
|
|
|
+ : await formValidate(formCodeRef1.value, formCodeRules)
|
|
|
+ if (!validate) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
const { error, code, data, msg } = await wbsApi.batchAddNumbers({
|
|
|
...formCode.value,
|
|
|
classify: classify.value,
|
|
@@ -248,7 +362,7 @@ const saveBatchCode = async ()=>{
|
|
|
})
|
|
|
if (!error && code === 200) {
|
|
|
window?.$message?.success('操作成功')
|
|
|
- return data
|
|
|
+ return true
|
|
|
}
|
|
|
}
|
|
|
|