diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/views/measure/price/list.vue b/src/views/measure/price/list.vue index 9d6d975..b6d4f2f 100644 --- a/src/views/measure/price/list.vue +++ b/src/views/measure/price/list.vue @@ -273,7 +273,7 @@ upload() } const add = () => { - buttonType.value = '' + buttonType.value = '新建' show.value = false } const exportAll = () => { diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/views/measure/price/list.vue b/src/views/measure/price/list.vue index 9d6d975..b6d4f2f 100644 --- a/src/views/measure/price/list.vue +++ b/src/views/measure/price/list.vue @@ -273,7 +273,7 @@ upload() } const add = () => { - buttonType.value = '' + buttonType.value = '新建' show.value = false } const exportAll = () => { diff --git a/src/views/measure/price/priceAdd.vue b/src/views/measure/price/priceAdd.vue index 2f623df..33627d7 100644 --- a/src/views/measure/price/priceAdd.vue +++ b/src/views/measure/price/priceAdd.vue @@ -1,7 +1,8 @@ diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/views/measure/price/list.vue b/src/views/measure/price/list.vue index 9d6d975..b6d4f2f 100644 --- a/src/views/measure/price/list.vue +++ b/src/views/measure/price/list.vue @@ -273,7 +273,7 @@ upload() } const add = () => { - buttonType.value = '' + buttonType.value = '新建' show.value = false } const exportAll = () => { diff --git a/src/views/measure/price/priceAdd.vue b/src/views/measure/price/priceAdd.vue index 2f623df..33627d7 100644 --- a/src/views/measure/price/priceAdd.vue +++ b/src/views/measure/price/priceAdd.vue @@ -1,7 +1,8 @@ diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue index 70a3518..2a0169b 100644 --- a/src/views/measure/source/components/listPage.vue +++ b/src/views/measure/source/components/listPage.vue @@ -120,7 +120,7 @@ } // 点击编辑/详情 const handleEdit = (index: string, row: rowReturn, value: string) => { - buttonArray.value = ['同意', '驳回', '拒绝'] + buttonArray.value = value === '编辑' ? ['提交'] : ['同意', '驳回', '拒绝'] buttonType.value = value infoId.value = row.id show.value = false diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/views/measure/price/list.vue b/src/views/measure/price/list.vue index 9d6d975..b6d4f2f 100644 --- a/src/views/measure/price/list.vue +++ b/src/views/measure/price/list.vue @@ -273,7 +273,7 @@ upload() } const add = () => { - buttonType.value = '' + buttonType.value = '新建' show.value = false } const exportAll = () => { diff --git a/src/views/measure/price/priceAdd.vue b/src/views/measure/price/priceAdd.vue index 2f623df..33627d7 100644 --- a/src/views/measure/price/priceAdd.vue +++ b/src/views/measure/price/priceAdd.vue @@ -1,7 +1,8 @@ diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue index 70a3518..2a0169b 100644 --- a/src/views/measure/source/components/listPage.vue +++ b/src/views/measure/source/components/listPage.vue @@ -120,7 +120,7 @@ } // 点击编辑/详情 const handleEdit = (index: string, row: rowReturn, value: string) => { - buttonArray.value = ['同意', '驳回', '拒绝'] + buttonArray.value = value === '编辑' ? ['提交'] : ['同意', '驳回', '拒绝'] buttonType.value = value infoId.value = row.id show.value = false diff --git a/src/views/measure/source/components/listPageAdd.vue b/src/views/measure/source/components/listPageAdd.vue index d20c2cd..edd9de9 100644 --- a/src/views/measure/source/components/listPageAdd.vue +++ b/src/views/measure/source/components/listPageAdd.vue @@ -2,7 +2,7 @@ import { reactive, ref } from 'vue' import type { Ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' -import type { UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus' +import type { FormInstance, UploadInstance, UploadProps, UploadUserFile } from 'element-plus' import type { IformInline } from './list_interface' import { exportFile } from '@/utils/exportUtils' import { UploadFile } from '@/api/measure/file' @@ -22,7 +22,7 @@ }, }) const emit = defineEmits(['close']) -const formInline: Ref = ref({ +const formInline = ref({ businessContent: null, supplierName: null, supplierNo: null, @@ -54,6 +54,7 @@ website: null, traceSupplierPersonList: [], }) +const ruleFormRef = ref() const columns = [ { text: '人员编号', value: 'personNo' }, { text: '姓名', value: 'name' }, @@ -61,6 +62,12 @@ { text: '职务', value: 'job' }, { text: '联系方式', value: 'phone' }, ] +const rules = ref({ + supplierNo: [{ required: true, message: '溯源供方编号不能为空', trigger: 'blur' }], + supplierName: [{ required: true, message: '公司名称不能为空', trigger: 'blur' }], + businessContent: [{ required: true, message: '业务内容不能为空', trigger: 'blur' }], + taxNumber: [{ required: true, message: '税号不能为空', trigger: 'blur' }], +}) // 表单验证规则 const provinceList = ref([]) const fileList = ref([]) const cityList = ref([]) @@ -83,7 +90,7 @@ } const getInfo = () => { getSoucreListDetail({ id: props.infoId }).then((res) => { - formInline.value = res.data + // formInline.value = res.data }) } // 表格选中 @@ -157,27 +164,30 @@ }) } // 点击提交/导出按钮 -const getAddList = (type: string) => { - if (formInline.value.supplierNo === null) { - return ElMessage.error('请填写溯源供方编号') - } - else if (formInline.value.supplierName === null) { - return ElMessage.error('请填写公司名称') - } - else if (formInline.value.businessContent === null) { - return ElMessage.error('请填写业务内容') - } - else if (formInline.value.taxNumber === null) { - return ElMessage.error('请填写税号') - } - if (type === '提交' && props.buttonType !== '编辑') { - getSoucreListAdd(formInline.value).then((res) => { - if (res.code === 200) { - close() +const getAddList = async (formEl: FormInstance | undefined, type: string) => { + if (type === '提交' && props.buttonType === '编辑') { + if (!formEl) { return } + await formEl.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + `确认${type}吗?`, + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then(() => { + getSoucreListAdd(formInline.value).then((res) => { + if (res.code === 200) { + close() + } + }) + }) } }) } - else if (type === '提交' && props.buttonType === '编辑') { + else if (type === '提交' && props.buttonType !== '编辑') { formInline.value.id = props.infoId getSoucreLisUpdate(formInline.value).then((res) => { if (res.code === 200) { @@ -252,54 +262,74 @@ diff --git a/src/components.d.ts b/src/components.d.ts index 6e85584..bc39b3b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,7 +19,6 @@ Benchcol: typeof import('./components/benchcol/index.vue')['default'] BenchCol: typeof import('./components/benchCol/index.vue')['default'] ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default'] - copy: typeof import('./components/DetailPage/index copy.vue')['default'] CopyerDrawer: typeof import('./components/drawer/copyerDrawer.vue')['default'] Copyright: typeof import('./components/Copyright/index.vue')['default'] DeptSelect: typeof import('./components/DeptSelect/index.vue')['default'] diff --git a/src/views/measure/price/list.vue b/src/views/measure/price/list.vue index 9d6d975..b6d4f2f 100644 --- a/src/views/measure/price/list.vue +++ b/src/views/measure/price/list.vue @@ -273,7 +273,7 @@ upload() } const add = () => { - buttonType.value = '' + buttonType.value = '新建' show.value = false } const exportAll = () => { diff --git a/src/views/measure/price/priceAdd.vue b/src/views/measure/price/priceAdd.vue index 2f623df..33627d7 100644 --- a/src/views/measure/price/priceAdd.vue +++ b/src/views/measure/price/priceAdd.vue @@ -1,7 +1,8 @@ diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue index 70a3518..2a0169b 100644 --- a/src/views/measure/source/components/listPage.vue +++ b/src/views/measure/source/components/listPage.vue @@ -120,7 +120,7 @@ } // 点击编辑/详情 const handleEdit = (index: string, row: rowReturn, value: string) => { - buttonArray.value = ['同意', '驳回', '拒绝'] + buttonArray.value = value === '编辑' ? ['提交'] : ['同意', '驳回', '拒绝'] buttonType.value = value infoId.value = row.id show.value = false diff --git a/src/views/measure/source/components/listPageAdd.vue b/src/views/measure/source/components/listPageAdd.vue index d20c2cd..edd9de9 100644 --- a/src/views/measure/source/components/listPageAdd.vue +++ b/src/views/measure/source/components/listPageAdd.vue @@ -2,7 +2,7 @@ import { reactive, ref } from 'vue' import type { Ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' -import type { UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus' +import type { FormInstance, UploadInstance, UploadProps, UploadUserFile } from 'element-plus' import type { IformInline } from './list_interface' import { exportFile } from '@/utils/exportUtils' import { UploadFile } from '@/api/measure/file' @@ -22,7 +22,7 @@ }, }) const emit = defineEmits(['close']) -const formInline: Ref = ref({ +const formInline = ref({ businessContent: null, supplierName: null, supplierNo: null, @@ -54,6 +54,7 @@ website: null, traceSupplierPersonList: [], }) +const ruleFormRef = ref() const columns = [ { text: '人员编号', value: 'personNo' }, { text: '姓名', value: 'name' }, @@ -61,6 +62,12 @@ { text: '职务', value: 'job' }, { text: '联系方式', value: 'phone' }, ] +const rules = ref({ + supplierNo: [{ required: true, message: '溯源供方编号不能为空', trigger: 'blur' }], + supplierName: [{ required: true, message: '公司名称不能为空', trigger: 'blur' }], + businessContent: [{ required: true, message: '业务内容不能为空', trigger: 'blur' }], + taxNumber: [{ required: true, message: '税号不能为空', trigger: 'blur' }], +}) // 表单验证规则 const provinceList = ref([]) const fileList = ref([]) const cityList = ref([]) @@ -83,7 +90,7 @@ } const getInfo = () => { getSoucreListDetail({ id: props.infoId }).then((res) => { - formInline.value = res.data + // formInline.value = res.data }) } // 表格选中 @@ -157,27 +164,30 @@ }) } // 点击提交/导出按钮 -const getAddList = (type: string) => { - if (formInline.value.supplierNo === null) { - return ElMessage.error('请填写溯源供方编号') - } - else if (formInline.value.supplierName === null) { - return ElMessage.error('请填写公司名称') - } - else if (formInline.value.businessContent === null) { - return ElMessage.error('请填写业务内容') - } - else if (formInline.value.taxNumber === null) { - return ElMessage.error('请填写税号') - } - if (type === '提交' && props.buttonType !== '编辑') { - getSoucreListAdd(formInline.value).then((res) => { - if (res.code === 200) { - close() +const getAddList = async (formEl: FormInstance | undefined, type: string) => { + if (type === '提交' && props.buttonType === '编辑') { + if (!formEl) { return } + await formEl.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + `确认${type}吗?`, + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then(() => { + getSoucreListAdd(formInline.value).then((res) => { + if (res.code === 200) { + close() + } + }) + }) } }) } - else if (type === '提交' && props.buttonType === '编辑') { + else if (type === '提交' && props.buttonType !== '编辑') { formInline.value.id = props.infoId getSoucreLisUpdate(formInline.value).then((res) => { if (res.code === 200) { @@ -252,54 +262,74 @@ diff --git a/src/views/measure/train/planAdd.vue b/src/views/measure/train/planAdd.vue index 9d717c0..76ed102 100644 --- a/src/views/measure/train/planAdd.vue +++ b/src/views/measure/train/planAdd.vue @@ -1,5 +1,9 @@ diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue index 70a3518..2a0169b 100644 --- a/src/views/measure/source/components/listPage.vue +++ b/src/views/measure/source/components/listPage.vue @@ -120,7 +120,7 @@ } // 点击编辑/详情 const handleEdit = (index: string, row: rowReturn, value: string) => { - buttonArray.value = ['同意', '驳回', '拒绝'] + buttonArray.value = value === '编辑' ? ['提交'] : ['同意', '驳回', '拒绝'] buttonType.value = value infoId.value = row.id show.value = false diff --git a/src/views/measure/source/components/listPageAdd.vue b/src/views/measure/source/components/listPageAdd.vue index d20c2cd..edd9de9 100644 --- a/src/views/measure/source/components/listPageAdd.vue +++ b/src/views/measure/source/components/listPageAdd.vue @@ -2,7 +2,7 @@ import { reactive, ref } from 'vue' import type { Ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' -import type { UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus' +import type { FormInstance, UploadInstance, UploadProps, UploadUserFile } from 'element-plus' import type { IformInline } from './list_interface' import { exportFile } from '@/utils/exportUtils' import { UploadFile } from '@/api/measure/file' @@ -22,7 +22,7 @@ }, }) const emit = defineEmits(['close']) -const formInline: Ref = ref({ +const formInline = ref({ businessContent: null, supplierName: null, supplierNo: null, @@ -54,6 +54,7 @@ website: null, traceSupplierPersonList: [], }) +const ruleFormRef = ref() const columns = [ { text: '人员编号', value: 'personNo' }, { text: '姓名', value: 'name' }, @@ -61,6 +62,12 @@ { text: '职务', value: 'job' }, { text: '联系方式', value: 'phone' }, ] +const rules = ref({ + supplierNo: [{ required: true, message: '溯源供方编号不能为空', trigger: 'blur' }], + supplierName: [{ required: true, message: '公司名称不能为空', trigger: 'blur' }], + businessContent: [{ required: true, message: '业务内容不能为空', trigger: 'blur' }], + taxNumber: [{ required: true, message: '税号不能为空', trigger: 'blur' }], +}) // 表单验证规则 const provinceList = ref([]) const fileList = ref([]) const cityList = ref([]) @@ -83,7 +90,7 @@ } const getInfo = () => { getSoucreListDetail({ id: props.infoId }).then((res) => { - formInline.value = res.data + // formInline.value = res.data }) } // 表格选中 @@ -157,27 +164,30 @@ }) } // 点击提交/导出按钮 -const getAddList = (type: string) => { - if (formInline.value.supplierNo === null) { - return ElMessage.error('请填写溯源供方编号') - } - else if (formInline.value.supplierName === null) { - return ElMessage.error('请填写公司名称') - } - else if (formInline.value.businessContent === null) { - return ElMessage.error('请填写业务内容') - } - else if (formInline.value.taxNumber === null) { - return ElMessage.error('请填写税号') - } - if (type === '提交' && props.buttonType !== '编辑') { - getSoucreListAdd(formInline.value).then((res) => { - if (res.code === 200) { - close() +const getAddList = async (formEl: FormInstance | undefined, type: string) => { + if (type === '提交' && props.buttonType === '编辑') { + if (!formEl) { return } + await formEl.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + `确认${type}吗?`, + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then(() => { + getSoucreListAdd(formInline.value).then((res) => { + if (res.code === 200) { + close() + } + }) + }) } }) } - else if (type === '提交' && props.buttonType === '编辑') { + else if (type === '提交' && props.buttonType !== '编辑') { formInline.value.id = props.infoId getSoucreLisUpdate(formInline.value).then((res) => { if (res.code === 200) { @@ -252,54 +262,74 @@ diff --git a/src/views/measure/train/planAdd.vue b/src/views/measure/train/planAdd.vue index 9d717c0..76ed102 100644 --- a/src/views/measure/train/planAdd.vue +++ b/src/views/measure/train/planAdd.vue @@ -1,5 +1,9 @@ - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
- - - -
-
- - - -
-
- - - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- + + + + - - - - - - - - - - - - - 完成 - - + +