Browse Source

Merge remote-tracking branch 'origin/master'

ZaiZai 2 năm trước cách đây
mục cha
commit
55843dfc66

+ 29 - 6
src/views/project/contract/components/base.vue

@@ -34,7 +34,7 @@
                         <el-form-item label="签订时间:" prop="contractSignTime">
                             <el-date-picker class="block" v-model="formBaseModel.contractSignTime" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"  />
                         </el-form-item>
-                        <el-form-item label="合同起止日期:" >
+                        <el-form-item label="合同起止日期:"  >
                             <HcDatePicker :dates="betweenTime" clearable  @change="betweenTimeUpdate"  :disabled="isDisabled"/>
                         </el-form-item>
                         <el-form-item label="对方单位回款联系人名称:">
@@ -110,6 +110,7 @@
 <script setup>
 import {ref, watch,onActivated} from "vue";
 import {useRouter,useRoute} from 'vue-router'
+import {getArrValue,formValidate} from "js-fast-way"
 
 
 const router = useRouter()
@@ -180,9 +181,22 @@ watch(() => [
 const formBaseRef = ref(null)
 
 const formBaseRules = {
-    key2: [
-        {required: true, message: '请输入', trigger: 'blur'},
+    name: [
+        {required: true, message: '请输入合同名称', trigger: 'blur'},
     ],
+    contractType: [
+        {required: true, message: '请选择合同类型', trigger: 'blur'},
+    ],
+    projectId: [
+        {required: true, message: '请选择所属项目', trigger: 'blur'},
+    ],
+    contractMoney: [
+        {required: true, message: '请输入合同金额', trigger: 'blur'},
+    ],
+    contractSignTime: [
+        {required: true, message: '请选择签订时间', trigger: 'blur'},
+    ],
+  
 }
 
 //日期时间被选择
@@ -207,9 +221,18 @@ const goBackClick = () => {
 const emit= defineEmits(['saveClick',"update:datas"])
 
 //提交保存
-const saveClick = () => {
-    // console.log(formBaseModel.value,'formBaseModel');
-    emit('saveClick')
+const saveClick = async() => {
+    console.log(formBaseModel.value,'formBaseModel');
+    let startTime=formBaseModel.value.startTime
+    let endTime=formBaseModel.value.endTime
+    if(!startTime||!endTime){
+        window.$message.warning('请选择合同起止日期')
+    }
+    const res = await formValidate(formBaseRef.value)
+    if(res&&startTime&&endTime){
+        emit('saveClick')
+    }
+    
  
 
 }

+ 3 - 3
src/views/project/contract/components/milestone.vue

@@ -30,9 +30,9 @@
                 <span v-if="isDisabled">{{row.practicalReturnedMoney}}</span>
                 <el-input v-model="row.practicalReturnedMoney" v-else disabled/>
             </template>
-            <template #reminderUserName="{row,index}">
+            <template #reminderUser="{row,index}">
                 <span v-if="isDisabled">{{row.reminderUserName}}</span>
-                <el-select v-model="row.reminderUserName" block  placeholder="请选择" v-else>
+                <el-select v-model="row.reminderUser" block  placeholder="请选择" v-else>
                                         <el-option v-for="item in reminderUserList" :label="item.name" :value="item.id"/>
                  </el-select>
             </template>
@@ -120,7 +120,7 @@ const tableColumn = [
     {key: 'shouldReturnedMoney', name: '应收回款金额', align: 'center'},
     {key: 'practicalReturnedTime', name: '实际回款时间',  align: 'center'},
     {key: 'practicalReturnedMoney', name: '实际回款金额', align: 'center'},
-    {key: 'reminderUserName', name: '催款执行人', align: 'center'},
+    {key: 'reminderUser', name: '催款执行人', align: 'center'},
     {key: 'action', name: '操作', width: '180', align: 'center'},
 ]
 const tableData = ref([

+ 68 - 33
src/views/system/components/tab-price-type.vue

@@ -20,10 +20,13 @@
 
                     <!--预算分类新增编辑弹窗-->
                     <HcDialog bgColor="#ffffff" widths="22rem" isToBody :show="priceModal" :title="priceTitle" @close="priceModalClose" @save="saveparentClick">
-                        <el-form :model="priceform" label-position="top" label-width="auto" size="large">
-                            <el-form-item label="预算一级科目名称:">
+                        <el-form :model="priceform" label-position="top" label-width="auto" size="large" :rules="priceformRules" ref="priceformref">
+                            <el-form-item label="预算一级科目名称:" prop="dictName">
                                 <el-input v-model="priceform.dictName"/>
                             </el-form-item>
+                            <el-form-item label="序号:" prop="sort">
+                                <el-input v-model="priceform.sort"/>
+                            </el-form-item>
                         </el-form>
                     </HcDialog>
                 </div>
@@ -46,10 +49,13 @@
 
                     <!--任务明细弹窗-->
                     <HcDialog bgColor="#ffffff" widths="24rem" isToBody :show="editTaskModal" :title="taskTitle" @close="testModalClose" @save="savechilidClick">
-                        <el-form label-position="top" label-width="auto" :model="formLabelAlign" size="large">
-                            <el-form-item label="预算二级科目名称:">
+                        <el-form label-position="top" label-width="auto" :model="formLabelAlign" size="large" :rules="secondformRules" ref="secondformref">
+                            <el-form-item label="预算二级科目名称: " prop="dictName">
                                 <el-input v-model="formLabelAlign.dictName"/>
                             </el-form-item>
+                            <el-form-item label="序号:" prop="sort">
+                                <el-input v-model="formLabelAlign.sort"/>
+                            </el-form-item>
                         </el-form>
                     </HcDialog>
 
@@ -63,7 +69,7 @@
 <script setup>
 import {onMounted, ref, watch} from "vue";
 import {submitDictionary,removeDictionary,getParentList,getChildList} from '~api/system/parameter.js';
-import {getArrValue} from "js-fast-way"
+import {getArrValue,formValidate} from "js-fast-way"
 
 const props = defineProps({
     cur: {
@@ -165,7 +171,24 @@ const openpriceEdit = (type) => {
 
     priceModal.value = true
 }
+const priceformRules = {
+    dictName: [
+        {required: true, message: '请输入名称', trigger: 'blur'},
+    ],
+    sort: [
+        {required: true, message: '请输入序号', trigger: 'blur'},
+    ],
+
+}
+const secondformRules={
+    dictName: [
+        {required: true, message: '请输入名称', trigger: 'blur'},
+    ],
+    sort: [
+        {required: true, message: '请输入序号', trigger: 'blur'},
+    ],
 
+}
 const priceform = ref({})
 const priceModalClose = () => {
     priceModal.value = false
@@ -234,41 +257,53 @@ const formLabelAlign = ref({
     type: '',
 })
 
-
+const priceformref=ref(null)
 //新增一级科目
 const saveparentClick=async()=>{
-    const { error, code, data,msg } = await submitDictionary({
-        type:tabsType.value,
-        dictName:priceform.value?.dictName,
-        id:menuKey.value||null,
-    })
-   
-    if (!error && code === 200) {
-        window.$message?.success(msg)
-        priceModal.value=false
-        getParentListData()
-    } 
-    else {
-        window.$message?.warning(msg)
+    const res = await formValidate(priceformref.value)
+    if(res){
+        console.log(res,'res');
+        const { error, code, data,msg } = await submitDictionary({
+            type:tabsType.value,
+            dictName:priceform.value?.dictName,
+            id:menuKey.value||null,
+            sort:priceform.value?.sort,
+        })
+    
+        if (!error && code === 200) {
+            window.$message?.success(msg)
+            priceModal.value=false
+            getParentListData()
+        } 
+        else {
+            window.$message?.warning(msg)
+        }
     }
+  
 }
+const secondformref=ref(null)
 //新增二级级科目
 const savechilidClick=async()=>{
-    const { error, code, data,msg } = await submitDictionary({
-        type:tabsType.value,
-        dictName:formLabelAlign.value?.dictName,
-        id:formLabelAlign.value.id||null,
-        parentId:menuKey.value
-    })
-   
-    if (!error && code === 200) {
-        window.$message?.success(msg)
-        editTaskModal.value=false
-        getChildListData()
-    } 
-    else {
-        window.$message?.warning(msg)
+    const res = await formValidate(secondformref.value)
+    if(res){
+        const { error, code, data,msg } = await submitDictionary({
+            type:tabsType.value,
+            dictName:formLabelAlign.value?.dictName,
+            sort:formLabelAlign.value?.sort,
+            id:formLabelAlign.value.id||null,
+            parentId:menuKey.value
+        })
+    
+        if (!error && code === 200) {
+            window.$message?.success(msg)
+            editTaskModal.value=false
+            getChildListData()
+        } 
+        else {
+            window.$message?.warning(msg)
+        }
     }
+
 }
 //获取一级科目
 const getParentListData=async()=>{