|
|
@@ -237,6 +237,7 @@
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
+ :loading="loading.materialSubmit"
|
|
|
:disabled="isViewMode"
|
|
|
@click="handleMaterialSubmit"
|
|
|
>
|
|
|
@@ -350,6 +351,7 @@
|
|
|
loading: {
|
|
|
submit: false,
|
|
|
save: false,
|
|
|
+ materialSubmit: false,
|
|
|
},
|
|
|
// 标签页加载状态
|
|
|
tabLoading: {
|
|
|
@@ -1065,6 +1067,57 @@
|
|
|
},
|
|
|
// 提交
|
|
|
handleSubmit() {
|
|
|
+ // 验证必填的报送资料(仅在 clcs 或 tjcl 节点时验证)
|
|
|
+ if (this.currentNode === 'clcs' || this.currentNode === 'tjcl') {
|
|
|
+ // 验证报送资料必填项
|
|
|
+ const requiredItems = this.formData.dataRequirements.filter(
|
|
|
+ (item) => {
|
|
|
+ // 只检查非类别标题行的数据项
|
|
|
+ if (item.isCategoryHeader) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ // 只检查是否为必填项
|
|
|
+ const isRequired =
|
|
|
+ item.isRequired === '1' || item.isRequired === 1
|
|
|
+ return isRequired
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ if (requiredItems.length > 0) {
|
|
|
+ // 获取必填项名称列表
|
|
|
+ const itemNames = requiredItems
|
|
|
+ .map((item) => item.informationName || '未命名资料')
|
|
|
+ .join('、')
|
|
|
+ Message.warning(
|
|
|
+ `有必填数据必须先填完,请先完成以下报送资料:${itemNames}`
|
|
|
+ )
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证成本调查表必填项
|
|
|
+ const requiredCostSurveys = this.formData.costSurveyData.filter(
|
|
|
+ (item) => {
|
|
|
+ // 只检查是否为必填项
|
|
|
+ const isRequired =
|
|
|
+ item.isRequired === '1' ||
|
|
|
+ item.isRequired === 1 ||
|
|
|
+ item.isRequired === '是'
|
|
|
+ return isRequired
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ if (requiredCostSurveys.length > 0) {
|
|
|
+ // 获取必填项名称列表
|
|
|
+ const itemNames = requiredCostSurveys
|
|
|
+ .map((item) => item.name || '未命名调查表')
|
|
|
+ .join('、')
|
|
|
+ Message.warning(
|
|
|
+ `有必填数据必须先填完,请先完成以下成本调查表:${itemNames}`
|
|
|
+ )
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
this.loading.submit = true
|
|
|
|
|
|
// 判断是否为监审意见提交(currentNode === 'yjfk')
|
|
|
@@ -1435,6 +1488,8 @@
|
|
|
handleMaterialSubmit() {
|
|
|
this.$refs.materialForm.validate((valid) => {
|
|
|
if (valid) {
|
|
|
+ // 设置 loading 状态
|
|
|
+ this.loading.materialSubmit = true
|
|
|
// 这里可以添加提交逻辑
|
|
|
console.log('补充材料表单数据:', this.materialForm)
|
|
|
addOrUpdateTaskRequirement({
|
|
|
@@ -1449,6 +1504,7 @@
|
|
|
.then((res) => {
|
|
|
console.log('补充材料提交成功', res)
|
|
|
if (res && res.code === 200) {
|
|
|
+ this.loading.materialSubmit = false
|
|
|
Message.success('补充材料提交成功')
|
|
|
this.materialDialogVisible = false
|
|
|
this.resetMaterialForm()
|
|
|
@@ -1461,6 +1517,10 @@
|
|
|
console.error('补充材料提交失败', err)
|
|
|
Message.error('补充材料提交失败')
|
|
|
})
|
|
|
+ .finally(() => {
|
|
|
+ // 重置 loading 状态
|
|
|
+ this.loading.materialSubmit = false
|
|
|
+ })
|
|
|
} else {
|
|
|
Message.error('请完善表单信息')
|
|
|
return false
|