Просмотр исходного кода

新增页面-静态页面展示

Liudijing 1 год назад
Родитель
Сommit
624d51bc2c

+ 1 - 1
src/main/resources/mapping/cquery/DotaskCQuery.xml

@@ -14,7 +14,7 @@
         on city.`code` = task.RegionCode
         join area_code area
         on area.`code` = task.StreetCode
-        where item.DictionaryCode='WorkType'
+        where item.DictionaryCode='TaskType'
         <if test="name != '' and name != null">
             and task.dotaskName like Concat('%',#{name},'%')
         </if>

+ 3 - 1
vue/src/router/asyncModules/companyService.ts

@@ -1,5 +1,7 @@
 export default {
-  'companyService/company/index': () => import('@/views/companyService/company/index.vue'),
+    'companyService/company/index': () => import('@/views/companyService/company/index.vue'),
+  'companyService/company/add': () => import('@/views/companyService/company/edit.vue'),
+  'companyService/company/edit': () => import('@/views/companyService/company/edit.vue'),
   'companyService/post/index': () => import('@/views/companyService/post/index.vue'),
   'companyService/post/add': () => import('@/views/companyService/post/edit.vue'),
   'companyService/post/edit': () => import('@/views/companyService/post/edit.vue')

+ 274 - 0
vue/src/views/companyService/company/edit.vue

@@ -0,0 +1,274 @@
+<template>
+  <div class="card-edit">
+    <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">企业信息管理</a-divider>
+
+      <a-row :gutter="24">
+        <a-col :span="8">
+          <a-form-item
+            label="企业名称"
+            :label-col="{ span: 6 }"
+            name="CompanyName"
+            :rules="[{ required: true, message: '请输入企业名称!' }]"
+          >
+            <a-input v-model:value="dataModel.CompanyName" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="统一信用代码"
+            :label-col="{ span: 6 }"
+            name="CompanyCode"
+            :rules="[{ required: true, message: '请输入统一信用代码!' }]"
+          >
+            <a-input v-model:value="dataModel.CompanyCode" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="所属驿站"
+            :label-col="{ span: 6 }"
+            name="SiteID"
+            :rules="[{ required: true, message: '请选择所属驿站!' }]"
+          >
+            <a-select
+              ref="select"
+              v-model:value="dataModel.SiteID"
+              :options="studentTypelist"
+              :field-names="{ label: 'name', value: 'value' }"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
+
+
+      <a-row :gutter="24">
+        <a-col :span="8">
+          <a-form-item
+            label="所属县区"
+            :label-col="{ span: 6 }"
+            name="RegionCode"
+            :rules="[{ required: true, message: '请选择所属县区!' }]"
+          >
+            <a-select
+              ref="select"
+              v-model:value="dataModel.RegionCode"
+              :options="studentTypelist"
+              :field-names="{ label: 'name', value: 'value' }"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="所属街道"
+            :label-col="{ span: 6 }"
+            name="StreetCode"
+            :rules="[{ required: true, message: '请选择所属街道!' }]"
+          >
+            <a-select
+              ref="select"
+              v-model:value="dataModel.StreetCode"
+              :options="studentTypelist"
+              :field-names="{ label: 'name', value: 'value' }"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业办公地址"
+            :label-col="{ span: 6 }"
+            name="Address"
+            :rules="[{ required: true, message: '请输入企业办公地址!' }]"
+          >
+            <a-input v-model:value="dataModel.Address" placeholder=""/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+
+
+      <a-row :gutter="24">
+        <a-col :span="8">
+          <a-form-item
+            label="用工情况"
+            :label-col="{ span: 6 }"
+            name="WorkSituation"
+            :rules="[{ required: true, message: '请输入用工情况!' }]"
+          >
+            <a-input v-model:value="dataModel.WorkSituation" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业规模"
+            :label-col="{ span: 6 }"
+            name="CompanyModel"
+            :rules="[{ required: true, message: '请输入企业规模!' }]"
+          >
+            <a-input v-model:value="dataModel.CompanyModel" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业分类"
+            :label-col="{ span: 6 }"
+            name="CompanyType"
+            :rules="[{ required: true, message: '请选择企业分类!' }]"
+          >
+            <a-select
+              ref="select"
+              v-model:value="dataModel.CompanyType"
+              :options="studentStatuslist"
+              :field-names="{ label: 'name', value: 'value' }"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="8">
+          <a-form-item
+            label="企业联系人"
+            :label-col="{ span: 6 }"
+            name="UserName"
+            :rules="[{ required: true, message: '请输入企业联系人!' }]"
+          >
+            <a-input v-model:value="dataModel.UserName" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业联系电话"
+            :label-col="{ span: 6 }"
+            name="UserMobile"
+            :rules="[{ required: true, message: '请输入企业联系电话!' }]"
+          >
+            <a-input v-model:value="dataModel.UserMobile" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业邮箱"
+            :label-col="{ span: 6 }"
+            name="CompanyEmail"
+            :rules="[{ required: true, message: '请选择企业邮箱!' }]"
+          >
+            <a-input v-model:value="dataModel.CompanyEmail" placeholder=""/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="8">
+          <a-form-item
+            label="法定代表人"
+            :label-col="{ span: 6 }"
+            name="FrName"
+            :rules="[{ required: true, message: '请选择法定代表人!' }]"
+          >
+            <a-input v-model:value="dataModel.FrName" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="营业执照有效期"
+            :label-col="{ span: 6 }"
+            name="ValidTime"
+            :rules="[{ required: true, message: '请输入营业执照有效期!' }]"
+          >
+            <a-date-picker
+              v-model:value="dataModel.ValidTime"
+              picker="date"
+              value-format="YYYY-MM-DD"
+            />
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item
+            label="企业状态"
+            :label-col="{ span: 6 }"
+            name="RecordStatus"
+            :rules="[{ required: true, message: '请选择企业状态!' }]"
+          >
+            <a-select
+              ref="select"
+              v-model:value="dataModel.RecordStatus"
+              :options="studentStatuslist"
+              :field-names="{ label: 'name', value: 'value' }"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
+
+      <a-divider orientation="left">其他信息</a-divider>
+      <a-row>
+        <a-col class="table-bottom-a1">
+          <a-form-item :label-col="{span:8}" label="" name="BusinScope">
+            <a-textarea v-model:value="dataModel.BusinScope" placeholder="经营范围" :rows="4"/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row>
+        <a-col class="table-bottom-a1">
+          <a-form-item :label-col="{span:8}" label="" name="CompanyDesc">
+            <a-textarea v-model:value="dataModel.CompanyDesc" placeholder="企业简介" :rows="4"/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-form-item class="buttom-btns">
+        <a-button @click="onClose">取消</a-button>
+        <a-button type="primary" html-type="submit">提交</a-button>
+      </a-form-item>
+    </a-form>
+  </div>
+</template>
+
+<script lang="ts">
+import { defineComponent, reactive, ref, toRefs } from 'vue';
+import { useRouter } from 'vue-router';
+import type { SelectProps } from 'ant-design-vue';
+import { useTabsViewStore } from '@/store/modules/tabsView';
+import BUploadFile from '@/components/file/uploadFile.vue';
+
+interface FormState {
+  dataModel: any;
+}
+
+export default defineComponent(
+{
+  components: { BUploadFile },
+  setup()
+  {
+    const formState = reactive<FormState>({ dataModel: {} });
+    const router = useRouter();
+    const postStatuslist = ref<SelectProps['options']>();
+    // const fullpath = router.currentRoute.value.fullPath;
+    const tabsViewStore = useTabsViewStore();
+
+    const onClose = () => {
+      tabsViewStore.closeCurrentTabByPath('/companyService/post/add');
+      tabsViewStore.closeCurrentTabByPath('/companyService/post/edit');
+      router.push({ name: '/companyService/post/index' });
+    };
+
+    const onFinish=()=>{
+
+    }
+
+    const loadData = () => {
+
+    };
+
+    return {
+      ...toRefs(formState),
+      loadData,
+      onClose,
+      onFinish,
+      postStatuslist
+    }
+  }
+})
+</script>
+

+ 2 - 2
vue/src/views/companyService/company/index.vue

@@ -190,10 +190,10 @@ export default defineComponent({
     // };
 
     const onAdd = () => {
-      tabsViewStore.addTabByPath('/schoolinformation/student/add', null);
+      tabsViewStore.addTabByPath('/companyService/company/add', null);
     };
     const onEdit = (item: any) => {
-      tabsViewStore.addTabByPath('/schoolinformation/student/edit', { id: item.studentID });
+      tabsViewStore.addTabByPath('/companyService/company/edit', { id: item.CompanyID });
     };
 
     return {

+ 87 - 203
vue/src/views/taskAndLog/dotask/edit.vue

@@ -1,253 +1,100 @@
 <template>
   <div class="card-edit">
     <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
-      <a-divider orientation="left">岗位信息管理</a-divider>
+      <a-divider orientation="left">任务信息管理</a-divider>
       <a-row :gutter="24">
-        <a-col :span="6">
+        <a-col :span="8">
           <a-form-item
-            label="岗位名称"
+            label="任务名称"
             :label-col="{ span: 6 }"
-            name="PostName"
-            :rules="[{ required: true, message: '请输入岗位名称!' }]"
+            name="DotaskName"
+            :rules="[{ required: true, message: '请输入任务名称!' }]"
           >
-            <a-input v-model:value="dataModel.PostName" placeholder=""/>
+            <a-input v-model:value="dataModel.DotaskName" placeholder=""/>
           </a-form-item>
         </a-col>
-        <a-col :span="6">
+        <a-col :span="8">
           <a-form-item
-            label="有效开始时间"
+            label="任务类型"
             :label-col="{ span: 6 }"
-            name="ValidTime"
-            :rules="[{ required: true, message: '请输入招聘有效开始时间' }]"
-          >
-            <a-date-picker
-              v-model:value="dataModel.ValidTime"
-              picker="date"
-              value-format="YYYY-MM-DD"
-            />
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="有效期(天)"
-            :label-col="{ span: 6 }"
-            name="ValidDay"
-            :rules="[{ required: true, message: '请输入有效期(天)!' }]"
-          >
-            <a-input v-model:value="dataModel.ValidDay" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="岗位状态"
-            :label-col="{ span: 6 }"
-            name="RecordStatus"
-            :rules="[{ required: true, message: '请岗位状态!' }]"
+            name="WorkTypeID"
+            :rules="[{ required: true, message: '请输入任务类型!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.RecordStatus"
+              v-model:value="dataModel.WorkTypeID"
               :options="studentTypelist"
               :field-names="{ label: 'name', value: 'value' }"
             >
             </a-select>
           </a-form-item>
         </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="6">
-          <a-form-item
-            label="所属企业"
-            :label-col="{ span: 6 }"
-            name="CompanyID"
-            :rules="[{ required: true, message: '请选择企业!' }]"
-          >
-            <a-select
-              ref="select"
-              v-model:value="dataModel.CompanyID"
-              :options="studentTypelist"
-              :field-names="{ label: 'name', value: 'value' }"
-            >
-            </a-select>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
+        <a-col :span="8">
           <a-form-item
-            label="工作性质"
+            label="任务完成时间"
             :label-col="{ span: 6 }"
-            name="WorkNature"
-            :rules="[{ required: true, message: '请输入工作性质!' }]"
+            name="FinishTime"
+            :rules="[{ required: true, message: '请输入任务完成时间!' }]"
           >
-            <a-input v-model:value="dataModel.WorkNature" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="工作年限"
-            :label-col="{ span: 6 }"
-            name="WorkYear"
-            :rules="[{ required: true, message: '请输入工作年限!' }]"
-          >
-            <a-input v-model:value="dataModel.WorkYear" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="招聘人数"
-            :label-col="{ span: 6 }"
-            name="RecruitCount"
-            :rules="[{ required: true, message: '请输入招聘人数!' }]"
-          >
-            <a-input v-model:value="dataModel.RecruitCount" placeholder=""/>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="6">
-          <a-form-item
-            label="文化程度"
-            :label-col="{ span: 6 }"
-            name="CultureRank"
-            :rules="[{ required: true, message: '请选择文化程度!' }]"
-          >
-            <a-select
-              ref="select"
-              v-model:value="dataModel.CultureRank"
-              :options="studentStatuslist"
-              :field-names="{ label: 'name', value: 'value' }"
-            >
-            </a-select>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="最高薪酬"
-            :label-col="{ span: 6 }"
-            name="MaxSalary"
-            :rules="[{ required: true, message: '请输入最高薪酬!' }]"
-          >
-            <a-input v-model:value="dataModel.MaxSalary" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="最低薪酬"
-            :label-col="{ span: 6 }"
-            name="MinSalary"
-            :rules="[{ required: true, message: '请输入最低薪酬!' }]"
-          >
-            <a-input v-model:value="dataModel.MinSalary" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="福利待遇"
-            :label-col="{ span: 6 }"
-            name="Welfare"
-            :rules="[{ required: true, message: '请输入福利待遇!' }]"
-          >
-            <a-input v-model:value="dataModel.Welfare" placeholder=""/>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="6">
-          <a-form-item
-            label="联系人"
-            :label-col="{ span: 6 }"
-            name="UserName"
-            :rules="[{ required: true, message: '请选择联系人!' }]"
-          >
-            <a-input v-model:value="dataModel.UserName" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="联系电话"
-            :label-col="{ span: 6 }"
-            name="UserMobile"
-            :rules="[{ required: true, message: '请输入联系电话!' }]"
-          >
-            <a-input v-model:value="dataModel.UserMobile" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="邮箱"
-            :label-col="{ span: 6 }"
-            name="PostEmial"
-            :rules="[{ required: true, message: '请输入邮箱!' }]"
-          >
-            <a-input v-model:value="dataModel.PostEmial" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="工作时长"
-            :label-col="{ span: 6 }"
-            name="WorkTime"
-            :rules="[{ required: true, message: '请输入工作时长!' }]"
-          >
-            <a-input v-model:value="dataModel.WorkTime" placeholder=""/>
+            <a-date-picker
+              v-model:value="dataModel.FinishTime"
+              picker="date"
+              value-format="YYYY-MM-DD"
+            />
           </a-form-item>
         </a-col>
       </a-row>
       <a-row :gutter="24">
-        <a-col :span="6">
+        <a-col :span="8">
           <a-form-item
-            label="是否试用期"
+            label="所属县区"
             :label-col="{ span: 6 }"
-            name="IsTrail"
-            :rules="[{ required: true, message: '请选择是否试用期!' }]"
+            name="RegionCode"
+            :rules="[{ required: true, message: '请选择所属县区!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.IsTrail"
-              :options="studentStatuslist"
+              v-model:value="dataModel.RegionCode"
+              :options="studentTypelist"
               :field-names="{ label: 'name', value: 'value' }"
             >
             </a-select>
           </a-form-item>
         </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="试用期时长"
-            :label-col="{ span: 6 }"
-            name="Trailtime"
-            :rules="[{ required: true, message: '请选择试用期时长!' }]"
-          >
-            <a-input v-model:value="dataModel.Trailtime" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
+        <a-col :span="8">
           <a-form-item
-            label="试用期最高薪酬"
+            label="所属街道"
             :label-col="{ span: 6 }"
-            name="TrailMaxSalary"
-            :rules="[{ required: true, message: '请输入试用期最高薪酬!' }]"
+            name="StreetCode"
+            :rules="[{ required: true, message: '请选择所属街道!' }]"
           >
-            <a-input v-model:value="dataModel.TrailMaxSalary" placeholder=""/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
-          <a-form-item
-            label="试用期最低薪酬"
-            :label-col="{ span: 6 }"
-            name="TrailMinSalary"
-            :rules="[{ required: true, message: '' }]"
-          >
-            <a-input v-model:value="dataModel.TrailMinSalary" placeholder=""/>
+            <a-input v-model:value="dataModel.StreetCode" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
-      <a-divider orientation="left">其他信息</a-divider>
       <a-row>
         <a-col class="table-bottom-a1">
-          <a-form-item :label-col="{span:8}" label="" name="PostDesc">
-            <a-textarea v-model:value="dataModel.PostDesc" placeholder="岗位描述" :rows="4"/>
+          <a-form-item :label-col="{span:6}" label="" name="Content">
+            <a-textarea v-model:value="dataModel.Content" placeholder="任务内容" :rows="4"/>
           </a-form-item>
         </a-col>
       </a-row>
+      <a-divider orientation="left">任务执行人员</a-divider>
+      <div class="search-result-list">
+        <a-table :columns="columns" :data-source="dataList" :scroll="{ x:'100%', y: 500 }"
+                 :loading="formState.loading"
+                 :row-key="record=>record.SiteUserID"
+                 bordered>
+        </a-table>
+      </div>
+      <a-divider orientation="left">其他信息</a-divider>
+      <b-upload-file
+        :file-ref-id="dataModel.DotaskID"
+        :readonly="false"
+        :multiple="true"
+        :set-file-list="setFileList"
+        :accept="'.pdf,.png,.jpg,.jpeg,.xls,.xlsx,.doc,.docx,.txt,.ppt,.pptx'"
+      ></b-upload-file>
       <a-form-item class="buttom-btns">
         <a-button @click="onClose">取消</a-button>
         <a-button type="primary" html-type="submit">提交</a-button>
@@ -259,7 +106,7 @@
 <script lang="ts">
 import { defineComponent, reactive, ref, toRefs } from 'vue';
 import { useRouter } from 'vue-router';
-import type { SelectProps } from 'ant-design-vue';
+import type { SelectProps,TableColumnsType } from 'ant-design-vue';
 import { useTabsViewStore } from '@/store/modules/tabsView';
 import BUploadFile from '@/components/file/uploadFile.vue';
 
@@ -272,12 +119,30 @@ export default defineComponent(
   components: { BUploadFile },
   setup()
   {
+    //任务执行人员列表
+    const dataList = ref([]);
     const formState = reactive<FormState>({ dataModel: {} });
+    const formTableState = reactive({  loading: false});
+    const searchParams = reactive({
+      pageIndex: 1,
+      pageSize: 99
+    });
     const router = useRouter();
     const postStatuslist = ref<SelectProps['options']>();
     // const fullpath = router.currentRoute.value.fullPath;
     const tabsViewStore = useTabsViewStore();
 
+    const fileList = ref();
+    const setFileList = (files) => {
+      fileList.value = files;
+    };
+
+    const onAdd=()=>{
+      tabsViewStore.addTabByPath('',null);
+    };
+    const onDel=()=>{
+
+    };
     const onClose = () => {
       tabsViewStore.closeCurrentTabByPath('/taskAndLog/dotask/add');
       tabsViewStore.closeCurrentTabByPath('taskAndLog/dotask/edit');
@@ -292,11 +157,30 @@ export default defineComponent(
 
     };
 
+    const columns:TableColumnsType=[
+      {
+        title: '序号',
+        align: "center",
+        key: 'companyID',
+        customRender: item => `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`
+      },
+      {title: '姓名', dataIndex: 'Name', key: 'Name', align: "center"},
+      {title: '性别', dataIndex: 'Gender', key: 'Gender', align: "center"},
+      {title: '联系电话', dataIndex: 'Mobile', key: 'Mobile', align: "center"},
+    ]
+
     return {
       ...toRefs(formState),
       loadData,
       onClose,
       onFinish,
+      onAdd,
+      onDel,
+      dataList,
+      columns,
+      formState,
+      formTableState,
+      setFileList,
       postStatuslist
     }
   }

+ 1 - 2
vue/src/views/taskAndLog/dotask/index.vue

@@ -65,7 +65,6 @@
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
           <a-button type="primary" html-type="submit" @click='onAdd'>新增</a-button>
-          <a-button type="primary" html-type="submit" @click='importPost()'>导入</a-button>
           <a-button type="primary" html-type="submit" @click='exportPost()'>导出</a-button>
         </a-col>
       </a-row>
@@ -176,7 +175,7 @@ export default defineComponent({
       console.log(regionList.value);
     });
 
-    get('system/dictionary/getDictionaryItemByCodeList',{code:'WorkType'}).then(data=>{
+    get('system/dictionary/getDictionaryItemByCodeList',{code:'TaskType'}).then(data=>{
       console.log(data);
       taskTypeList.value=data;
     });