Browse Source

工作要点

ZaiZai 1 năm trước cách đây
mục cha
commit
ec2182aabc
2 tập tin đã thay đổi với 41 bổ sung40 xóa
  1. 1 2
      src/layout/index.vue
  2. 40 38
      src/views/project/gist/create.vue

+ 1 - 2
src/layout/index.vue

@@ -51,7 +51,6 @@ const menuBarData = ref(store.menus)
 onMounted(async () => {
     initButtons()
     menuBarData.value = await getMenuData()
-    console.log(menuBarData.value, 'menuBarData')
 })
 
 //菜单被点击
@@ -62,7 +61,7 @@ const menuBarChange = ({ code }) => {
 
 //用户信息
 const userInfoLoad = (data) => {
-    console.log('用户信息', data)
+    //console.log('用户信息', data)
 }
 </script>
 

+ 40 - 38
src/views/project/gist/create.vue

@@ -4,18 +4,18 @@
             <div class="flex-1 text-center text-[24px] font-bold">工作重点填写</div>
         </template>
         <el-form ref="baseFormRef" :model="baseForm" :rules="baseFormRules" label-position="top" label-width="auto" size="large">
-            <el-form-item label="选择项目阶段:" prop="key1">
-                <el-select v-model="baseForm.key1" placeholder="请选择">
+            <el-form-item label="选择项目阶段:" prop="workFocusStage">
+                <el-select v-model="baseForm.workFocusStage" placeholder="请选择">
                     <el-option v-for="item in projectStage" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </el-form-item>
-            <el-form-item label="目标任务:" prop="key2">
-                <el-input v-model="baseForm.key2" placeholder="请输入" clearable type="textarea" />
+            <el-form-item label="目标任务:" prop="targetPlan">
+                <el-input v-model="baseForm.targetPlan" placeholder="请输入" clearable type="textarea" />
             </el-form-item>
         </el-form>
-        <template v-for="(item, index) in baseForm.gistList" :key="index">
+        <template v-for="(item, index) in workFocusEntityList" :key="index">
             <hc-card-item class="gist-detail">
-                <div class="hc-form-gist-action hc-flex">
+                <div v-if="!formInfo.id" class="hc-form-gist-action hc-flex">
                     <div class="add hc-flex-center h-[24px] w-[24px]" @click="addGistList">
                         <hc-icon name="add" fill />
                     </div>
@@ -24,29 +24,29 @@
                     </div>
                 </div>
                 <el-form :ref="(el) => setGistRefs(el, index)" :model="item" :rules="gistFormRules" label-position="left" label-width="auto" size="large">
-                    <el-form-item label="选择年份:" prop="key1">
-                        <hc-date-year v-model="item.key1" v-model:end="item.key1" />
+                    <el-form-item label="选择年份:" prop="startYear">
+                        <hc-date-year v-model="item.startYear" v-model:end="item.endYear" />
                     </el-form-item>
-                    <el-form-item label="工作任务:" prop="key3">
-                        <el-input v-model="item.key3" placeholder="请输入" clearable type="textarea" />
+                    <el-form-item label="工作任务:" prop="workPlan">
+                        <el-input v-model="item.workPlan" placeholder="请输入" clearable type="textarea" />
                     </el-form-item>
-                    <el-form-item label="责任单位:" prop="key4">
-                        <el-input v-model="item.key4" placeholder="请输入" clearable />
+                    <el-form-item label="责任单位:" prop="dutyUnit">
+                        <el-input v-model="item.dutyUnit" placeholder="请输入" clearable />
                     </el-form-item>
                 </el-form>
             </hc-card-item>
         </template>
         <template #action>
             <el-button v-if="formInfo.id" type="info" @click="cancelClick">取消</el-button>
-            <el-button v-if="!formInfo.id" color="#20C98B" type="primary" class="text-white" @click="createClick">创建</el-button>
-            <el-button type="warning" @click="saveClick">保存</el-button>
+            <el-button v-if="!formInfo.id" color="#20C98B" type="primary" class="text-white" @click="saveClick">创建工作要点</el-button>
+            <el-button v-else type="warning" @click="saveClick">保存</el-button>
         </template>
     </hc-card>
 </template>
 
 <script setup>
 import { onMounted, ref, watch } from 'vue'
-import { deepClone, getArrValue, getRandom, isNullES } from 'js-fast-way'
+import { deepClone, getArrValue, getRandom } from 'js-fast-way'
 import { getDictionaryData } from '~src/utils/tools'
 import mainApi from '~api/project/gist'
 
@@ -78,24 +78,24 @@ const getDataApi = async () => {
     projectStage.value = await getDictionaryData('projectStage', true)
 }
 
+//基础表单
 const baseFormRef = ref(null)
-const baseForm = ref({
-    key1:'', key2: '',
-    gistList: [{ key3: '111' }],
-})
+const baseForm = ref({ workFocusStage:null, targetPlan: '' })
 const baseFormRules = {
-    key1: {
+    workFocusStage: {
         required: true,
         trigger: 'blur',
         message: '请选择项目阶段',
     },
-    key2: {
+    targetPlan: {
         required: true,
         trigger: 'blur',
         message: '请输入目标任务',
     },
 }
 
+//任务列表表单
+const workFocusEntityList = ref([{}])
 //处理ref
 const gistRefs = ref([])
 const setGistRefs = (el, index) => {
@@ -107,49 +107,51 @@ const setGistRefs = (el, index) => {
         }
     }
 }
+//任务列表表单
 const gistFormRules = {
-    key1: {
+    startYear: {
         required: true,
         trigger: 'blur',
         message: '请选择年份',
     },
+    workPlan: {
+        required: true,
+        trigger: 'blur',
+        message: '请填写工作任务',
+    },
+    dutyUnit: {
+        required: true,
+        trigger: 'blur',
+        message: '请填写责任单位',
+    },
 }
 
 //新增工作重点
 const addGistList = () => {
-    const list = getArrValue(baseForm.value.gistList)
+    const list = getArrValue(workFocusEntityList.value)
     list.push({ id: getRandom() })
 }
 
 //删除工作重点
 const delGistList = (index) => {
-    const form = deepClone(baseForm.value)
-    const list = getArrValue(form.gistList)
+    const list = deepClone(workFocusEntityList.value)
     if (list.length <= 1) {
         window.$message.warning('至少需要保留一个任务')
         return
     }
     list.splice(index, 1)
-    baseForm.value = form
+    workFocusEntityList.value = list
 }
 
-
 //取消
 const cancelClick = () => {
     emit('back')
 }
 
-//创建
-const createClick = () => {
-    const form = formInfo.value
-    if (isNullES(form.id)) cancelClick()
-    console.log('创建')
-}
-
-//保存
-const saveClick = () => {
-    const form = formInfo.value
-    if (isNullES(form.id)) cancelClick()
+//创建 保存
+const saveClick = async () => {
+    const form = baseForm.value
+    console.log(form)
     console.log('保存')
 }
 </script>