提交 5842f173 authored 作者: gjx's avatar gjx

地块管理修改样式以及开始日期结束日期校验问题

上级 65ee53f0
......@@ -323,7 +323,7 @@
label: '行业类别',
field: 'hylb',
component: 'Input',
colProps: { span: 24 },
// colProps: { span: 23 },
componentProps: {
readonly: true,
},
......@@ -368,7 +368,7 @@
field: 'zbsm',
defaultValue: 'CGCS2000',
component: 'Input',
colProps: { span: 8 },
colProps: { span: 7 },
componentProps: {
readonly: true,
},
......@@ -428,7 +428,7 @@
field: 'dkszfw',
required: true,
component: 'Input',
colProps: { span: 24 },
// colProps: { span: 23.5 },
},
{
label: '启动缘由',
......
......@@ -4,16 +4,18 @@
<BasicForm @register="registerForm">
<template #gstype="{ model, field }">
<!-- 如果是组件需要进行双向绑定,model当前表单对象,field当前字段名称 -->
<a-radio-group v-model:value="model[field]" style="display: flex; justify-content: space-between">
<a-radio-group v-model:value="model[field]" style="display: flex">
<div class="w-[50%]">
<a-radio :value="1" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="qt = ''">网址</a-radio>
<a-input v-model:value="model['gswz']" @blur="onBlur(model)" placeholder="请输入网址" :disabled="model[field] != 1"
style="width: 40%" />
<a-radio :value="3" :style="{ height: '30px', lineHeight: '30px', width: '60px' }"
@change="model['gswz'] = ''">其它</a-radio>
<a-input v-model:value="qt" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 40%" />
<a-input v-model:value="model['gswz']" @blur="onBlur(model)" placeholder="请输入网址" :disabled="model[field] != 1" style="width: 77%" />
</div>
<div class="w-[50%]">
<a-radio :value="3" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="model['gswz'] = ''">其它</a-radio>
<a-input v-model:value="qt" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 90%" />
</div>
</a-radio-group>
</template>
<template #jsxl="{ }">
<template #jsxl="{}">
<div class="table-page-wrapper">
<table style="width: 100%" border="1" cellspacing="1">
<colgroup>
......@@ -121,13 +123,13 @@
</template>
<script lang="ts" setup>
//引入依赖
import { nextTick, watch, toRaw, ref } from 'vue';
import { useForm, BasicForm, FormSchema } from '/@/components/Form';
import { useMessage } from '/@/hooks/web/useMessage';
//引入依赖
import { nextTick, watch, toRaw, ref } from 'vue';
import { useForm, BasicForm, FormSchema } from '/@/components/Form';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const props = defineProps({
const { createMessage } = useMessage();
const props = defineProps({
labelFirst: {
type: String,
default: '风险管控',
......@@ -140,10 +142,10 @@ const props = defineProps({
type: Object,
default: {},
},
});
const qt = ref('');
//自定义表单字段
const formSchemas: FormSchema[] = [
});
const qt = ref('');
//自定义表单字段
const formSchemas: FormSchema[] = [
{
label: '污染地块id',
field: 'wrdkid',
......@@ -226,9 +228,9 @@ const formSchemas: FormSchema[] = [
},
slot: 'jsxl',
},
];
];
const jslx = ref<any>([
const jslx = ref<any>([
{
bt: '',
sortindex: '0',
......@@ -269,11 +271,11 @@ const jslx = ref<any>([
yw: '',
iw: '',
},
]);
/**
]);
/**
* BasicForm绑定注册;
*/
const [registerForm, { getFieldsValue, setFieldsValue, validate }] = useForm({
const [registerForm, { getFieldsValue, setFieldsValue, validate }] = useForm({
//注册表单列
schemas: formSchemas,
//不显示查询和重置按钮
......@@ -287,8 +289,8 @@ const [registerForm, { getFieldsValue, setFieldsValue, validate }] = useForm({
baseRowStyle: { width: '100%' },
//表单布局属性,支持(vertical,horizontal),默认为horizontal
layout: 'horizontal',
});
watch(
});
watch(
() => props.data,
async (val: any) => {
val &&
......@@ -305,8 +307,8 @@ watch(
});
},
{ deep: true, immediate: true }
);
watch(
);
watch(
() => props.jslx,
async () => {
// 技术路线的回显
......@@ -325,16 +327,16 @@ watch(
}
},
{ deep: true, immediate: true }
);
// 失去焦点校验网址
function onBlur(model) {
);
// 失去焦点校验网址
function onBlur(model) {
console.log(model.gswz, 'v');
const reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
if (!reg.test(model.gswz)) createMessage.info('请输入正确的网址');
}
// 获取子组件 列表
async function getFormValueReport() {
}
// 获取子组件 列表
async function getFormValueReport() {
console.log('子组件执行');
//获取所有值
let fieldsValue = await getFieldsValue();
......@@ -351,47 +353,48 @@ async function getFormValueReport() {
v.bt = '其他';
}
} else {
v.yw = v.yw?v.yw.toString():'';
v.iw = v.iw?v.iw.toString():'';
v.yw = v.yw ? v.yw.toString() : '';
v.iw = v.iw ? v.iw.toString() : '';
}
});
}
return fieldsValue;
}
}
// 通过ref必须把在父组件里面的方法导出
defineExpose({
// 通过ref必须把在父组件里面的方法导出
defineExpose({
getFormValueReport,
});
});
</script>
<style scoped>
/** 时间和数字输入框样式 */
:deep(.ant-input-number) {
/** 时间和数字输入框样式 */
:deep(.ant-input-number) {
width: 100%;
}
}
:deep(.ant-picker) {
:deep(.ant-picker) {
width: 100%;
}
}
table {
table {
border-collapse: collapse;
border: 1px #dfe6ec solid
}
border: 1px #dfe6ec solid;
}
tbody tr td {
tbody tr td {
padding: 6px;
height: 40px;
}
}
.bgColor {
.bgColor {
background-color: rgba(244, 247, 249, 0.8);
text-align: center;
}
}
/* :deep(.ant-radio-wrapper) {
/* :deep(.ant-radio-wrapper) {
width: 120px;
text-align: left;
} */</style>
} */
</style>
......@@ -4,11 +4,15 @@
<BasicForm @register="registerForm">
<template #gstype="{ model, field }">
<!-- 如果是组件需要进行双向绑定,model当前表单对象,field当前字段名称 -->
<a-radio-group v-model:value="model[field]" style="display: flex; justify-content: space-between">
<a-radio-group v-model:value="model[field]" style="display: flex">
<div class="w-[50%]">
<a-radio :value="1" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="model['qt'] = ''">网址</a-radio>
<a-input v-model:value="model['gswz']" placeholder="请输入网址" @blur="onBlur(model)" :disabled="model[field] != 1" style="width: 40%" />
<a-input v-model:value="model['gswz']" placeholder="请输入网址" @blur="onBlur(model)" :disabled="model[field] != 1" style="width: 73%" />
</div>
<div class="w-[50%]">
<a-radio :value="3" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="model['gswz'] = ''">其它</a-radio>
<a-input v-model:value="model['qt']" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 40%" />
<a-input v-model:value="model['qt']" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 73%" />
</div>
</a-radio-group>
</template>
</BasicForm>
......
......@@ -4,11 +4,15 @@
<BasicForm @register="registerForm">
<template #gstype="{ model, field }">
<!-- 如果是组件需要进行双向绑定,model当前表单对象,field当前字段名称 -->
<a-radio-group v-model:value="model[field]" style="display: flex; justify-content: space-between">
<a-radio-group v-model:value="model[field]" style="display: flex">
<div class="w-[50%]">
<a-radio value="1" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="model['qt'] = ''">网址</a-radio>
<a-input v-model:value="model['gswz']" placeholder="请输入网址" :disabled="model[field] != 1" style="width: 40%" />
<a-input v-model:value="model['gswz']" placeholder="请输入网址" :disabled="model[field] != 1" style="width: 77%" />
</div>
<div class="w-[50%]">
<a-radio value="3" :style="{ height: '30px', lineHeight: '30px', width: '60px' }" @change="model['gswz'] = ''">其它</a-radio>
<a-input v-model:value="model['qt']" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 40%" />
<a-input v-model:value="model['qt']" placeholder="请输入信息" :disabled="model[field] != 3" style="width: 91%" />
</div>
</a-radio-group>
</template>
</BasicForm>
......
......@@ -94,11 +94,20 @@
createMessage.warn('请填写网址');
return;
}
if (!reg.test(res.gswz)){
if (!reg.test(res.gswz)) {
createMessage.warn('请输入正确的网址');
return false;
}
}
if (new Date(res.tmStar) > new Date(res.tmEnd)) {
createMessage.warn('风险管控工程措施开始日期不能大于风险管控工程措施结束日期');
return;
}
// if (new Date(res.fbsj) > new Date(res.tmStar)) {
// createMessage.warn('风险管控方案编制完成日期不能大于风险管控工程措施开始日期');
// return;
// }
await saveGkxf(res);
}
// 风险管控措施信息
......@@ -106,9 +115,9 @@
async function saveCsxx(event) {
event.stopPropagation();
const res = await chilrenReportxx?.value.getFormValueGKxx();
if(res.kzfxgktrmj > dsInfor.value.wrdkjbxxb.zdmj){
if (res.kzfxgktrmj > dsInfor.value.wrdkjbxxb.zdmj) {
createMessage.warn('开展风险管控土壤面积不能超过地块占地面积');
return false
return false;
}
await saveGkxf(res);
}
......
......@@ -135,6 +135,15 @@
return false;
}
}
if (new Date(res.tmStar) > new Date(res.tmEnd)) {
createMessage.warn('管控及修复工程措施开始日期不能大于管控及修复工程措施结束日期');
return;
}
// if (new Date(res.fbsj) > new Date(res.tmStar)) {
// createMessage.warn('管控及修复方案编制完成日期不能大于管控及修复工程措施开始日期');
// return;
// }
await saveGkxf(res);
}
//风险管控措施
......
......@@ -426,17 +426,21 @@
event.stopPropagation();
const res = await chilrenReport?.value.getFormValueReport();
const reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
debugger
if (res.projectType == 1) {
if (!res.gswz) {
createMessage.warn('请填写网址');
return;
}
if (!reg.test(res.gswz)){
if (!reg.test(res.gswz)) {
createMessage.warn('请输入正确的网址');
return;
}
}
if (new Date(res.fbsj) > new Date(res.wcsj)) {
createMessage.warn('调查开始日期不能大于调查结束日期');
return;
}
await updateCbdc(res);
}
// 详细调查
......@@ -444,9 +448,21 @@
async function saveXx(event) {
event.stopPropagation();
const res = await chilrenxxReport?.value.getFormValueReport();
const reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
if (res.projectType == 1) {
if (!res.gswz) createMessage.warn('请输入网址');
if (!res.gswz) {
createMessage.warn('请输入网址');
return;
}
if (!reg.test(res.gswz)) {
createMessage.warn('请输入正确的网址');
return;
}
}
if (new Date(res.fbsj) > new Date(res.wcsj)) {
createMessage.warn('调查开始日期不能大于调查结束日期');
return;
}
await updateXxdc(res);
}
......
......@@ -135,6 +135,15 @@
return false;
}
}
if (new Date(res.tmStar) > new Date(res.tmEnd)) {
createMessage.warn('修复工程措施开始日期不能大于修复工程措施结束日期');
return;
}
// if (new Date(res.fbsj) > new Date(res.tmStar)) {
// createMessage.warn('修复方案编制完成日期不能大于修复工程措施开始日期');
// return;
// }
await saveGkxf(res);
}
// 修复措信息
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论