Parcourir la source

web-编辑页面取缔弹出框

liao-sea il y a 1 an
Parent
commit
6e60817630

+ 9 - 7
h5app/src/views/pages/work/task/myTask.vue

@@ -18,7 +18,8 @@
         </ion-item>
         <ion-list>
           <ion-item>
-            {{dataModel.content}}
+            <ion-textarea id="content" name="content" v-model:value="dataModel.content" placeholder="任务内容"   :rows="4" disabled>
+            </ion-textarea>
           </ion-item>
         </ion-list>
       </form>
@@ -49,10 +50,10 @@ interface CurDataProps{
 interface myTaskModel{
   dataModel: {
     doTaskUser: CurDataProps[],
-    doTaskName: null,
-    workTypeID: null,
-    content:null,
-    finishTime:null,
+    doTaskName: any,
+    workTypeID: any,
+    content:string,
+    finishTime:any,
   }
 }
 
@@ -65,9 +66,9 @@ export default defineComponent({
     const myTaskData = reactive<myTaskModel>({
       dataModel:{
         doTaskUser: [],
-        doTaskName: null,
+        doTaskName: '',
         workTypeID: null,
-        content:null,
+        content:'',
         finishTime:null,
       }});
 
@@ -100,6 +101,7 @@ export default defineComponent({
       const reqData = await getWorkTaskByID(doTaskID);
       myTaskData.dataModel = reqData;
       loading.value = false;
+      console.log(myTaskData.dataModel);
     };
 
     const reload = (doTaskID: any) => {

+ 1 - 1
src/main/java/com/hz/employmentsite/controller/taskAndLog/DoTaskController.java

@@ -45,7 +45,7 @@ public class DoTaskController {
     @ResponseBody
     @GetMapping("/getMyWorkTasks")
     public BaseResponse getMyTasks(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) {
-        PageInfo<DoTaskVo> result = doTaskService.getMyTasks(pageIndex,pageSize,"1060115a-a660-4462-967e-1200a54923dd");
+        PageInfo<DoTaskVo> result = doTaskService.getMyTasks(pageIndex,pageSize,"7966709d-a48c-11ee-a890-7085c2a9999e");
         return RespGenerstor.success(result);
     }
 

+ 3 - 0
vue/src/router/asyncModules/basesettings.ts

@@ -1,8 +1,11 @@
 export default {
   'baseSettings/institution/index': () => import('@/views/baseSettings/institution/index.vue'),
+  'baseSettings/institution/add': () => import('@/views/baseSettings/institution/edit.vue'),
   'baseSettings/institution/edit': () => import('@/views/baseSettings/institution/edit.vue'),
   'baseSettings/site/index': () => import('@/views/baseSettings/siteInfo/index.vue'),
+  'baseSettings/site/add': () => import('@/views/baseSettings/siteInfo/edit.vue'),
   'baseSettings/site/edit': () => import('@/views/baseSettings/siteInfo/edit.vue'),
   'baseSettings/user/index': () => import('@/views/baseSettings/siteUser/index.vue'),
+  'baseSettings/user/add': () => import('@/views/baseSettings/siteUser/edit.vue'),
   'baseSettings/user/edit': () => import('@/views/baseSettings/siteUser/edit.vue'),
 };

+ 2 - 0
vue/src/router/asyncModules/jobUserManager.ts

@@ -3,5 +3,7 @@ export default {
   'views/jobusermgr/jobseeker/add': () => import('@/views/jobUserManager/jobuser/edit.vue'),
   'views/jobusermgr/jobseeker/edit': () => import('@/views/jobUserManager/jobuser/edit.vue'),
   'views/jobusermgr/jobhunt/index': () => import('@/views/jobUserManager/jobhunt/index.vue'),
+  'views/jobusermgr/jobhunt/add': () => import('@/views/jobUserManager/jobhunt/edit.vue'),
+  'views/jobusermgr/jobhunt/edit': () => import('@/views/jobUserManager/jobhunt/edit.vue'),
   'views/jobusermgr/recommend/index': () => import('@/views/jobUserManager/recommend/index.vue'),
 };

+ 1 - 0
vue/src/router/asyncModules/taskAndLog.ts

@@ -3,5 +3,6 @@ export default {
   'taskAndLog/dotask/add': () => import('@/views/taskAndLog/dotask/edit.vue'),
   'taskAndLog/dotask/edit': () => import('@/views/taskAndLog/dotask/edit.vue'),
   'taskAndLog/workLog/index': () => import('@/views/taskAndLog/dowork/index.vue'),
+  'taskAndLog/workLog/add': () => import('@/views/taskAndLog/dowork/edit.vue'),
   'taskAndLog/workLog/edit': () => import('@/views/taskAndLog/dowork/edit.vue'),
 };

+ 31 - 58
vue/src/views/baseSettings/institution/edit.vue

@@ -1,17 +1,7 @@
 <template>
-  <a-modal
-    :width="1200"
-    v-model:visible="visible"
-    :title="title"
-    :confirm-loading="confirmLoading"
-    @ok="handleOk"
-    ok-text="提交"
-    @cancel="handleCancel"
-    cancel-text="取消"
-    :keyboard="false"
-    :mask-closable="false"  >
-    <a-form :model="dataModel" autocomplete="off">
-      <a-divider orientation="left">基础信息管理</a-divider>
+  <div class="card-edit">
+    <a-form :model="dataModel"  autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">运营机构信息</a-divider>
       <a-row type="flex">
         <a-col :span="8">
           <a-form-item label="企业名称"  name="companyName" :label-col="{span:8}"  :rules="[{ required: true, message: '请输入企业名称!' }]">
@@ -29,11 +19,6 @@
           <a-form-item label="负责人姓名" name="fzrName" :label-col="{span:8}" :rules="[{ required: true, message: '请输入负责人姓名!' }]">
             <label v-if="opCategory==3">{{dataModel.fzrName}}</label>
             <a-input v-model:value="dataModel.fzrName" placeholder=""/>
-            <!--<a-date-picker name="feedbackDate2" v-model:value="dataModel.feedbackDate"
-                               value-format="YYYY-MM-DD" picker="date" placeholder="请选择问题反馈日期"  />-->
-            <!--<a-select ref="select" v-model:value="dataModel.problemCharacteristics"
-                          :options="problemAttrList" :field-names="{label:'name',value:'value'}"
-                          @change="loadData"  :allow-clear="true"></a-select>-->
           </a-form-item>
         </a-col>
       </a-row>
@@ -120,11 +105,16 @@
         <a-textarea :auto-size="{ minRows: 4, maxRows: 10 }"  v-model:value="dataModel.remarkDesc"  :disabled="opCategory==3"
                     placeholder="备注" style="text-align: center;" />
       </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>
-  </a-modal>
+  </div>
 </template>
 <script lang="ts">
 import {computed, defineComponent, reactive, ref, toRefs} from "vue";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getInstitutionByID, saveInstitution} from "@/api/baseSettings/institution";
 import {getSiteList,getListByInstitutionID,getSiteByID} from "@/api/baseSettings/siteInfo";
 import BUploadFile from "@/components/file/uploadFile.vue";
@@ -144,14 +134,11 @@ export default defineComponent({
       default: null
     }
   },
-  setup(props) {
-    /*const feedbackDateDetail = ref();
-    const resolveDateDetail = ref();*/
+  setup() {
     const title = ref();
-    const opCategory = ref<any>();
-    const visible = ref<boolean>(false);
+    const opCategory = ref();
+    const tabsViewStore = useTabsViewStore();
     const isAllowCommit = ref<boolean>(false);
-    const confirmLoading = ref<boolean>(false);
     const formData = reactive<InstitutionModel>({ dataModel:{}});
     const pageParams = reactive({
       pageIndex: 1,
@@ -187,23 +174,15 @@ export default defineComponent({
     const allSites = ref<any>([]);
     const manageSites = ref<any>([]);
 
-    const loadData = (id: string) => {
-      getInstitutionByID(id).then((result: any) => {
+    const loadData = (institutionID: any) => {
+      getAllSites();
+      getInstitutionByID(institutionID).then((result: any) => {
         formData.dataModel = result;
         console.log('dataModel',formData.dataModel);
         GetManageSites(formData.dataModel.institutionID);
-        /*feedbackDateDetail.value = dayjs(formState.dataModel.feedbackDate).format('YYYY-MM-DD');
-        resolveDateDetail.value = formState.dataModel.resolveDate == null?"": dayjs(formState.dataModel.resolveDate).format('YYYY-MM-DD');*/
       });
     }
 
-    const show = (id: any,method:string,category:any) => {
-      title.value ="运营机构管理-"+method;
-      opCategory.value = category;
-      loadData(id);
-      visible.value = true;
-    };
-
     const getAllSites = () => {
       pageParams.institutionID = '';
       getSiteList(pageParams).then((result :any) => {
@@ -253,38 +232,36 @@ export default defineComponent({
           }
         });
       }
-    }
+    };
 
-    const handleOk = () => {
+    const onClose = (reload: any) => {
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/institution/add');
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/institution/edit');
+      tabsViewStore.openTab('/baseSettings/institution/index',{reload:reload});
+    };
+
+    const onFinish = () => {
       validateSameSite();
-      if (!isAllowCommit.value){
-        message.error("不允许添加相同的站点!");
-      }else if(formData.dataModel.companyName==null||formData.dataModel.companyAddress ==null||formData.dataModel.fzrName==null||
-        formData.dataModel.fzrMobile==null||formData.dataModel.frName==null||formData.dataModel.frMobile==null||formData.dataModel.companyCode==null){
-        message.error("请填写完整的机构信息!");
-        isAllowCommit.value = false;
-      }
       if (isAllowCommit.value){
         formData.dataModel.manageSites = manageSites.value;
         saveInstitution(formData.dataModel).then(result => {
           if (result) {
-            visible.value = false;
-            props.loadData();
+            onClose(1);
           }
         });
+      }else{
+          message.error("不允许添加相同的站点!");
       }
     };
 
-    const handleCancel = () => {
-      visible.value = false;
-    };
 
     return {
       ...toRefs(formData),
+      loadData,
+      onClose,
+      onFinish,
       title,
-      visible,
       opCategory,
-      confirmLoading,
       columns,
       pageParams,
       pagination,
@@ -292,9 +269,6 @@ export default defineComponent({
       allSites,
       manageSites,
       isAllowCommit,
-      /*feedbackDateDetail,
-      resolveDateDetail,*/
-      show,
       getAllSites,
       GetManageSites,
       addSite,
@@ -302,12 +276,11 @@ export default defineComponent({
       handleTableChange,
       onSelectChange,
       manageSitesChange,
-      handleOk,
-      handleCancel
     };
   },
   created() {
-    this.getAllSites();
+    const id = history.state.params?.id;
+    this.loadData(id);
   },
 })
 </script>

+ 13 - 14
vue/src/views/baseSettings/institution/index.vue

@@ -16,9 +16,6 @@
         <a-col :span="6">
           <a-form-item label="负责人名称" :label-col="{span:8}" name="dutyUserName">
             <a-input v-model:value="searchParams.dutyUserName" placeholder=""/>
-            <!--<a-select  ref="select"  v-model:value="searchParamsState.collegeID" :options="collegeList"
-                       :field-names="{label:'name',value:'collegeID'}"  @change="loadData"  functioncode="T014000" :allow-clear="true"  >
-            </a-select>-->
           </a-form-item>
         </a-col>
       <a-col :span="6" style="text-align: left">
@@ -36,7 +33,7 @@
 
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit" functioncode="T01010102" @click='onOperates(null,"新增",1)' >新增</a-button>
+          <a-button type="primary" html-type="submit" functioncode="T01010102" @click='onAdd' >新增</a-button>
           <BExportExcel :title="'导出'"   :filename="'运营机构信息'" :url="'/institution/export'" :params="{...searchParams, rows:100000}"></BExportExcel>
         </a-col>
       </a-row>
@@ -51,32 +48,32 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
-              <a-button type="link" size="small" functioncode="T01010103" @click='onOperates(record.institutionID,"修改",2)' >编辑</a-button>
+              <a-button type="link" size="small" functioncode="T01010103" @click='onEdit(record.institutionID)' >编辑</a-button>
               <a-button type="link" size="small" functioncode="T01010104" @click="onDel(record)" >删除</a-button>
             </div>
           </template>
         </template>
       </a-table>
     </div>
-    <InstitutionEditForm ref="institutionEditModelRef" :loadData="loadData"></InstitutionEditForm>
   </div>
 </template>
 
 <script lang="ts">
 import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
 import type {FormInstance,TableColumnsType, TableProps} from 'ant-design-vue';
 import {getInstitutionList, delInstitution} from '@/api/baseSettings/institution';
-import InstitutionEditForm from "@/views/baseSettings/institution/edit.vue";
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {getPaginationTotalTitle} from "@/utils/common";
 import {message, Modal} from "ant-design-vue";
 
 export default defineComponent({
   name: 'InstitutionList',
-  components: {InstitutionEditForm, DownOutlined, UpOutlined, BExportExcel},
+  components: { DownOutlined, UpOutlined, BExportExcel},
   setup() {
     const formRef = ref<FormInstance>();
+    const tabsViewStore = useTabsViewStore();
     const searchParams = reactive({
       pageIndex: 1,
       pageSize: 20,
@@ -111,9 +108,7 @@ export default defineComponent({
       showSizeChanger: true,
       showTotal: total => getPaginationTotalTitle(total)
     }));
-
     const dataList = ref([]);
-    const institutionEditModelRef = ref();
 
 
     const loadData = async function () {
@@ -168,8 +163,12 @@ export default defineComponent({
       });
     };
 
-    const onOperates = (id: string,operation:string,opCategory:any) => {
-      institutionEditModelRef.value.show(id,operation,opCategory);
+    const onAdd =()=>{
+      tabsViewStore.addTabByPath('/baseSettings/institution/add', {id:null});
+    };
+
+    const onEdit = (id: string) => {
+      tabsViewStore.addTabByPath('/baseSettings/institution/edit', {id:id});
     };
 
     return {
@@ -179,11 +178,11 @@ export default defineComponent({
       columns,
       pagination,
       dataList,
-      institutionEditModelRef,
       handleTableChange,
       onSelectChange,
       onSearch,
-      onOperates,
+      onAdd,
+      onEdit,
       onDel,
       loadData
     };

+ 30 - 41
vue/src/views/baseSettings/siteInfo/edit.vue

@@ -1,17 +1,7 @@
 <template>
-  <a-modal
-    :width="1200"
-    v-model:visible="visible"
-    :title="title"
-    :confirm-loading="confirmLoading"
-    @ok="handleOk"
-    ok-text="提交"
-    @cancel="handleCancel"
-    cancel-text="取消"
-    :keyboard="false"
-    :mask-closable="false"  >
-    <a-form :model="dataModel" autocomplete="off" >
-      <a-divider orientation="left">基础信息管理</a-divider>
+  <div class="card-edit">
+    <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">驿站站点信息</a-divider>
       <a-row type="flex">
         <a-col :span="7">
           <a-form-item label="驿站编号" name="siteCode" :label-col="{span:7}" :rules="[{ required: true, message: '请输入驿站编号!' }]">
@@ -129,11 +119,16 @@
         <a-textarea :auto-size="{ minRows: 4, maxRows: 10 }"  v-model:value="dataModel.remark"  :disabled="opCategory==3"
                     placeholder="备注" style="text-align: center;" />
       </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>
-  </a-modal>
+  </div>
 </template>
 <script lang="ts">
 import {computed, defineComponent, reactive, ref, toRefs} from "vue";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getSiteByID, saveSite} from "@/api/baseSettings/siteInfo";
 import BUploadFile from "@/components/file/uploadFile.vue";
 import {message, SelectProps, TableColumnsType, TableProps} from "ant-design-vue";
@@ -154,12 +149,11 @@ export default defineComponent({
       default: null
     }
   },
-  setup(props) {
-    const visible = ref<boolean>(false);
-    const isAllowCommit = ref<boolean>(false);
-    const confirmLoading = ref<boolean>(false);
+  setup() {
     const title = ref();
     const opCategory = ref<any>();
+    const tabsViewStore = useTabsViewStore();
+    const isAllowCommit = ref<boolean>(false);
     const formState = reactive({
       total: 0,
       selectedRowKeys: [],
@@ -224,7 +218,11 @@ export default defineComponent({
       institutionList.value = institutionResult;
     }
 
-    const loadData = (siteID: string) => {
+    const loadData = (siteID: any) => {
+      getAllUsers();
+      getRegionList();
+      getInstitutionList();
+      getUserDataList();
       getSiteByID(siteID).then((result: any) => {
         formData.dataModel = result;
         console.log("dataModel",formData.dataModel);
@@ -238,16 +236,6 @@ export default defineComponent({
         }
       });
     }
-    const show = (id: any,method:string,category:any) => {
-      title.value ="驿站站点管理-"+method;
-      opCategory.value = category;
-      getAllUsers();
-      getRegionList();
-      getInstitutionList();
-      getUserDataList();
-      loadData(id);
-      visible.value = true;
-    };
 
     const getAllUsers = () => {
       pageParams.siteID = '';
@@ -299,8 +287,12 @@ export default defineComponent({
         });
       }
     }
-
-    const handleOk = () => {
+    const onClose = (reload: any) => {
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/site/add');
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/site/edit');
+      tabsViewStore.openTab('/baseSettings/site/index',{reload:reload});
+    };
+    const onFinish = () => {
       validateSameUser();
       if (!isAllowCommit.value){
         message.error("不允许添加相同的人员!");
@@ -314,25 +306,23 @@ export default defineComponent({
         formData.dataModel.manageUsers = manageUsers.value;
         saveSite(formData.dataModel).then(result => {
           if (result) {
-            visible.value = false;
-            props.loadData();
+            onClose(1);
           }
         });
       }
     };
 
-    const handleCancel = () => {
-      visible.value = false;
-    };
+
 
     return {
       ...toRefs(formData),
+      loadData,
+      onClose,
+      onFinish,
       title,
       opCategory,
-      visible,
       formState,
       isAllowCommit,
-      confirmLoading,
       columns,
       pageParams,
       pagination,
@@ -342,7 +332,6 @@ export default defineComponent({
       institutionList,
       allUsers,
       manageUsers,
-      show,
       onSelectChange,
       handleTableChange,
       regionChange,
@@ -354,11 +343,11 @@ export default defineComponent({
       addSiteUser,
       delSiteUser,
       manageUsersChange,
-      handleOk,
-      handleCancel
     };
   },
   created() {
+    const id = history.state.params?.id;
+    this.loadData(id);
   },
 })
 </script>

+ 15 - 14
vue/src/views/baseSettings/siteInfo/index.vue

@@ -72,7 +72,7 @@
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit"  functioncode="T01010202" @click='onOperates(null,"新增",1)' >新增</a-button>
+          <a-button type="primary" html-type="submit"  functioncode="T01010202" @click='onAdd' >新增</a-button>
           <BExportExcel :title="'导出'" :filename="'驿站站点信息'" :url="'/siteInfo/export'" :params="{...searchParams, rows:100000}"></BExportExcel>
         </a-col>
       </a-row>
@@ -87,34 +87,33 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
-              <a-button type="link" size="small"  functioncode="T01010203" @click='onOperates(record.siteID.toString(),"修改",2)' >编辑</a-button>
+              <a-button type="link" size="small"  functioncode="T01010203" @click='onEdit(record.siteID)' >编辑</a-button>
               <a-button type="link" size="small"  functioncode="T01010204" @click="onDel(record)" >删除</a-button>
             </div>
           </template>
         </template>
       </a-table>
     </div>
-    <SiteInfoEditForm ref="siteInfoEditModelRef" :loadData="loadData"></SiteInfoEditForm>
   </div>
 </template>
 
 <script lang="ts">
 import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
-import type {FormInstance} from 'ant-design-vue';
-import type {TableColumnsType, TableProps} from 'ant-design-vue';
+import type {FormInstance,TableColumnsType, TableProps} from 'ant-design-vue';
 import {getSiteList,delSite} from '@/api/baseSettings/siteInfo';
 import {getRegionCodeList, getStreetCodeList} from "@/api/system/area/index";
-import SiteInfoEditForm from "@/views/baseSettings/siteInfo/edit.vue";
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {getPaginationTotalTitle} from "@/utils/common";
 import {message, Modal, SelectProps} from "ant-design-vue";
 
 export default defineComponent({
   name: 'SiteList',
-  components: {DownOutlined, UpOutlined, BExportExcel,SiteInfoEditForm},
+  components: {DownOutlined, UpOutlined, BExportExcel},
   setup() {
     const formRef = ref<FormInstance>();
+    const tabsViewStore = useTabsViewStore();
     const expand = ref(false);
     const searchParams = reactive({
       pageIndex: 1,
@@ -155,7 +154,6 @@ export default defineComponent({
     const regionList = ref<SelectProps['options']>();
     const streetList = ref<SelectProps['options']>();
     const dataList = ref([]);
-    const siteInfoEditModelRef = ref();
 
     const handleTableChange: TableProps['onChange'] = (pag: { pageSize: number; current: number },) => {
       searchParams.pageIndex = pag.current;
@@ -213,9 +211,14 @@ export default defineComponent({
       });
     };
 
-    const onOperates = (id: string,operation:string,opCategory:any) => {
-      siteInfoEditModelRef.value.show(id,operation,opCategory);
+    const onAdd =()=>{
+      tabsViewStore.addTabByPath('/baseSettings/site/add', {id:null});
+    }
+
+    const onEdit = (id: string) => {
+      tabsViewStore.addTabByPath('/baseSettings/site/edit', {id:id});
     };
+
     const loadData = async function () {
       formState.loading = true;
       const result: any = await getSiteList(searchParams);
@@ -224,8 +227,6 @@ export default defineComponent({
       formState.loading = false;
     }
 
-
-
     return {
       formRef,
       expand,
@@ -236,11 +237,11 @@ export default defineComponent({
       streetList,
       regionList,
       dataList,
-      siteInfoEditModelRef,
       handleTableChange,
       onSelectChange,
       onSearch,
-      onOperates,
+      onAdd,
+      onEdit,
       onDel,
       loadData,
       getRegionList,

+ 27 - 38
vue/src/views/baseSettings/siteUser/edit.vue

@@ -1,17 +1,7 @@
 <template>
-  <a-modal
-    :width="1200"
-    v-model:visible="visible"
-    :title="title"
-    :confirm-loading="confirmLoading"
-    @ok="handleOk"
-    ok-text="提交"
-    @cancel="handleCancel"
-    cancel-text="取消"
-    :keyboard="false"
-    :mask-closable="false"  >
-    <a-form :model="dataModel" autocomplete="off">
-      <a-divider orientation="left">基础信息</a-divider>
+  <div class="card-edit">
+    <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">站点人员管理</a-divider>
       <a-row type="flex">
         <a-col :span="7">
           <a-form-item label="姓名" name="siteUserName" :label-col="{span:7}" :rules="[{ required: true, message: '请输入人员姓名!' }]">
@@ -48,11 +38,16 @@
 
         </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>
-  </a-modal>
+  </div>
 </template>
 <script lang="ts">
 import {defineComponent, reactive, ref, toRefs} from "vue";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getSiteUserByID, saveSiteUser} from "@/api/baseSettings/userInfo";
 import BUploadFile from "@/components/file/uploadFile.vue";
 import type {SelectProps} from "ant-design-vue";
@@ -71,12 +66,11 @@ export default defineComponent({
       default: null
     }
   },
-  setup(props) {
-    const formData = reactive<InstitutionModel>({ dataModel:{}});
-    const visible = ref<boolean>(false);
-    const confirmLoading = ref<boolean>(false);
+  setup() {
     const title = ref();
     const opCategory = ref<any>();
+    const tabsViewStore = useTabsViewStore();
+    const formData = reactive<InstitutionModel>({ dataModel:{}});
     const isAllowCommit = ref<boolean>(true) ;
     const formState = reactive({
       total: 0,
@@ -95,25 +89,25 @@ export default defineComponent({
     }
 
     const loadData = (siteUserID: string) => {
+      getGenderList();
+      getRoleList();
       getSiteUserByID(siteUserID).then((result: any) => {
         formData.dataModel = result;
         console.log("dataModel",formData.dataModel);
       });
-    }
-    const show = (id: any,method:string,category:any) => {
-      title.value ="人员管理-"+method;
-      opCategory.value = category;
-      getGenderList();
-      getRoleList();
-      loadData(id);
-      visible.value = true;
     };
 
     const onSelectChange = (selectedRowKeys: any) => {
       formState.selectedRowKeys = selectedRowKeys;
     };
 
-    const handleOk = () => {
+    const onClose = (reload: any) => {
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/user/add');
+      tabsViewStore.closeCurrentTabByPath('/baseSettings/user/edit');
+      tabsViewStore.openTab('/baseSettings/user/index',{reload:reload});
+    };
+
+    const onFinish = () => {
       if(formData.dataModel.siteUserName==null||formData.dataModel.gender ==null||formData.dataModel.mobile==null|| formData.dataModel.roleID==null){
         message.error("请填写完整的人员信息!");
         isAllowCommit.value = false;
@@ -121,36 +115,31 @@ export default defineComponent({
       if(isAllowCommit.value){
         saveSiteUser(formData.dataModel).then(result => {
           if (result) {
-            visible.value = false;
-            props.loadData();
+            onClose(1);
           }
         });
       }
 
     };
 
-    const handleCancel = () => {
-      visible.value = false;
-    };
-
 
     return {
       ...toRefs(formData),
+      loadData,
+      onClose,
+      onFinish,
       title,
-      visible,
       formState,
       opCategory,
       isAllowCommit,
-      confirmLoading,
       genderList,
       roleList,
-      show,
       onSelectChange,
-      handleOk,
-      handleCancel
     };
   },
   created() {
+    const id = history.state.params?.id;
+    this.loadData(id);
   },
 })
 </script>

+ 14 - 11
vue/src/views/baseSettings/siteUser/index.vue

@@ -28,7 +28,7 @@
 
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit" functioncode="T01010302" @click='onOperates(null,"新增",1)' >新增</a-button>
+          <a-button type="primary" html-type="submit" functioncode="T01010302" @click='onAdd' >新增</a-button>
           <BExportExcel :title="'导出'" :filename="'驿站人员信息'" :url="'/userInfo/export'" :params="{...searchParams, rows:100000}"></BExportExcel>
         </a-col>
       </a-row>
@@ -43,33 +43,33 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
-              <a-button type="link" size="small"  functioncode="T01010303"  @click='onOperates(record.siteUserID.toString(),"修改",2)' >编辑</a-button>
+              <a-button type="link" size="small"  functioncode="T01010303"  @click='onEdit(record.siteUserID)' >编辑</a-button>
               <a-button type="link" size="small"  functioncode="T01010304"  @click="onDel(record)" >删除</a-button>
             </div>
           </template>
         </template>
       </a-table>
     </div>
-    <UserInfoEditForm ref="userInfoEditModelRef" :loadData="loadData"></UserInfoEditForm>
   </div>
 </template>
 
 <script lang="ts">
 import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
 import type {FormInstance} from 'ant-design-vue';
 import type {TableColumnsType, TableProps} from 'ant-design-vue';
 import {getSiteUserList,delSiteUser} from '@/api/baseSettings/userInfo';
-import UserInfoEditForm from "@/views/baseSettings/siteUser/edit.vue";
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {getPaginationTotalTitle} from "@/utils/common";
 import {message, Modal} from "ant-design-vue";
 
 export default defineComponent({
   name: 'UserInfoList',
-  components: {DownOutlined, UpOutlined, BExportExcel,UserInfoEditForm},
+  components: {DownOutlined, UpOutlined, BExportExcel},
   setup() {
     const formRef = ref<FormInstance>();
+    const tabsViewStore = useTabsViewStore();
     const searchParams = reactive({
       pageIndex: 1,
       pageSize: 20,
@@ -98,7 +98,6 @@ export default defineComponent({
     }));
 
     const dataList = ref([]);
-    const userInfoEditModelRef = ref();
 
     const handleTableChange: TableProps['onChange'] = (pag: { pageSize: number; current: number },) => {
       searchParams.pageIndex = pag.current;
@@ -143,9 +142,7 @@ export default defineComponent({
       });
     };
 
-    const onOperates = (id: string,operation:string,opCategory:any) => {
-      userInfoEditModelRef.value.show(id,operation,opCategory);
-    };
+
     const loadData = async function () {
       formState.loading = true;
       const result: any = await getSiteUserList(searchParams);
@@ -154,7 +151,13 @@ export default defineComponent({
       formState.loading = false;
     }
 
+    const onAdd =()=>{
+      tabsViewStore.addTabByPath('/baseSettings/user/add', {id:null});
+    };
 
+    const onEdit = (id: string) => {
+      tabsViewStore.addTabByPath('/baseSettings/user/edit', {id:id});
+    };
 
     return {
       formRef,
@@ -163,11 +166,11 @@ export default defineComponent({
       columns,
       pagination,
       dataList,
-      userInfoEditModelRef,
       handleTableChange,
       onSelectChange,
       onSearch,
-      onOperates,
+      onAdd,
+      onEdit,
       onDel,
       loadData
     };

+ 8 - 9
vue/src/views/companyService/company/edit.vue

@@ -60,14 +60,13 @@
             :rules="[{ required: true, message: '请输入营业执照有效期!' }]"
           >
             <label v-if="!showPicker" style="float:left;line-height: 30px;height: 30px;font-size: 16px;">{{dataModel.validTime}}</label>
-            <div   v-if="showPicker" style="width:65%;float:left;">
-              <a-date-picker
-                v-model:value="dataModel.validTime"
-                picker="date"
-                value-format="YYYY-MM-DD"
-              />
-            </div>
-            <div  v-if="!showPicker"  style="width:34%;margin-left:1%;color:blue;float:left;line-height: 30px;height: 30px;font-size: 16px;"
+            <a-date-picker
+              v-if="showPicker"
+              v-model:value="dataModel.validTime"
+              picker="date"
+              value-format="YYYY-MM-DD"
+            />
+            <div  v-if="!showPicker"  style="margin-left:10px;color:blue;float:left;line-height: 30px;height: 30px;font-size: 16px;"
                   v-on:click="showDataPicker">选择有效期</div>
           </a-form-item>
         </a-col>
@@ -249,8 +248,8 @@
 <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 type {SelectProps} from 'ant-design-vue';
 import BUploadFile from '@/components/file/uploadFile.vue';
 import {get} from "@/api/common";
 import {save, getCompanyById} from '@/api/companyService/company';

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

@@ -173,8 +173,8 @@ export default defineComponent({
       {title: '岗位名称', dataIndex: 'postName', key: 'postName', align: "center"},
       {title: '招聘人数', dataIndex: 'recruitCount', key: 'recruitCount', width: 120, align: "center"},
       {
-        title: '有效开始日期', dataIndex: 'createTime', key: 'createTime', align: "center", customRender: (item) => {
-          return item.record.createTime == null ? "" : (dayjs(item.record.createTime).format('YYYY-MM-DD'))
+        title: '有效开始日期', dataIndex: 'validTime', key: 'validTime', align: "center", customRender: (item) => {
+          return item.record.validTime == null ? "" : (dayjs(item.record.validTime).format('YYYY-MM-DD'))
         }
       },
       {title: '有效期(天)', dataIndex: 'validDay', key: 'validDay', align: "center"},

+ 28 - 46
vue/src/views/jobUserManager/jobhunt/edit.vue

@@ -1,17 +1,7 @@
 <template>
-  <a-modal
-    :width="1200"
-    v-model:visible="visible"
-    :title="title"
-    :confirm-loading="confirmLoading"
-    @ok="handleOk"
-    ok-text="提交"
-    @cancel="handleCancel"
-    cancel-text="取消"
-    :keyboard="false"
-    :mask-closable="false"  >
-    <a-form :model="dataModel" autocomplete="off">
-      <a-divider orientation="left">基础信息管理</a-divider>
+  <div class="card-edit">
+    <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">求职意向信息</a-divider>
       <a-row type="flex">
         <a-col :span="7">
           <a-form-item label="姓名"  name="jobUserID" :label-col="{span:8}"  :rules="[{ required: true, message: '请输选择求职人员!' }]">
@@ -87,11 +77,16 @@
         <a-textarea :auto-size="{ minRows: 4, maxRows: 10 }"  v-model:value="dataModel.otherInfo" :disabled="opCategory==3"
                     placeholder="其他要求" style="text-align: center;" />
       </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>
-  </a-modal>
+  </div>
 </template>
 <script lang="ts">
 import {defineComponent, reactive, ref, toRefs} from "vue";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getJobHuntByID,saveJobHunt} from "@/api/jobUserManager/jobhunt"
 import {getJobUserDataList} from "@/api/jobUserManager/jobuser";
 import {getList} from "@/api/companyService/post";
@@ -111,12 +106,11 @@ export default defineComponent({
       default: null
     }
   },
-  setup(props) {
+  setup() {
     const title = ref();
     const opCategory = ref<any>();
-    const visible = ref<boolean>(false);
+    const tabsViewStore = useTabsViewStore();
     const isAllowCommit = ref<boolean>(true);
-    const confirmLoading = ref<boolean>(false);
     const formData = reactive<InstitutionModel>({ dataModel:{}});
     const formState = reactive({
       total: 0,
@@ -155,52 +149,42 @@ export default defineComponent({
     }
 
     const loadData = (id: string) => {
-      getJobHuntByID(id).then((result: any) => {
-        formData.dataModel = result;
-        console.log('dataModel',formData.dataModel);
-      });
-    }
-
-    const show = (id: any,method:string,category:any) => {
-      title.value ="求职意向管理-"+method;
-      opCategory.value = category;
       getAllPostList();
       getJobUserTypeList();
       getJobHuntTypeList();
       getJobWorkTypeList();
-      loadData(id);
-      visible.value = true;
+      getJobHuntByID(id).then((result: any) => {
+        formData.dataModel = result;
+        console.log('dataModel',formData.dataModel);
+      });
     };
 
-    const handleOk = () => {
+    const onClose = (reload: any) => {
+      tabsViewStore.closeCurrentTabByPath('/jobusermgr/jobhunt/add');
+      tabsViewStore.closeCurrentTabByPath('/jobusermgr/jobhunt/edit');
+      tabsViewStore.openTab('/jobusermgr/jobhunt/index', {reload: reload});
+    };
 
-      if(formData.dataModel.jobUserID==null||formData.dataModel.workName ==""||formData.dataModel.jobHuntType==null||
-        formData.dataModel.jobUserType==null||formData.dataModel.minSalary==""||formData.dataModel.maxSalary==""||
-        formData.dataModel.workYear==null||formData.dataModel.areaWork==null||formData.dataModel.inDate==""){
-        message.error("请填写完整的求职意向!");
-        isAllowCommit.value = false;
-      }else if(formData.dataModel.minSalary>formData.dataModel.maxSalary){
+    const onFinish = () => {
+      if(formData.dataModel.minSalary>formData.dataModel.maxSalary){
         message.error("最低月薪不能大于最高月薪!");
         isAllowCommit.value = false;
       }
       if (isAllowCommit.value){
         saveJobHunt(formData.dataModel).then(result => {
           if (result) {
-            visible.value = false;
-            props.loadData();
+            onClose(1);
           }
         });
       }
     };
 
-    const handleCancel = () => {
-      visible.value = false;
-    };
-
     return {
       ...toRefs(formData),
+      loadData,
+      onClose,
+      onFinish,
       title,
-      visible,
       formState,
       opCategory,
       allPostList,
@@ -209,15 +193,13 @@ export default defineComponent({
       jobHuntTypeList,
       jobWorkTypeList,
       isAllowCommit,
-      confirmLoading,
-      show,
-      handleOk,
-      handleCancel,
       getJobUserList
     };
   },
   created() {
     this.getJobUserList();
+    const id = history.state.params?.id;
+    this.loadData(id);
   },
 })
 </script>

+ 15 - 13
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -97,7 +97,7 @@
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit" functioncode="T01030202" @click='onOperates(null,"新增",1)' >新增</a-button>
+          <a-button type="primary" html-type="submit" functioncode="T01030202" @click='onAdd' >新增</a-button>
           <BImportExcel functioncode="T01030205"
             :options="importOptions"
             @success="loadData"
@@ -113,14 +113,13 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
-              <a-button type="link" size="small" functioncode="T01030203" @click='onOperates(record.jobHuntID,"修改",2)' >编辑</a-button>
+              <a-button type="link" size="small" functioncode="T01030203" @click='onEdit(record.jobHuntID)' >编辑</a-button>
               <a-button type="link" size="small" functioncode="T01030204" @click="onDel(record)" >删除</a-button>
             </div>
           </template>
         </template>
       </a-table>
     </div>
-    <JobHuntEditForm ref="jobHuntEditModelRef" :loadData="loadData"></JobHuntEditForm>
   </div>
 </template>
 
@@ -135,14 +134,15 @@ import BImportExcel from "@/components/basic/excel/importExcel/importExcel.vue";
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {message, Modal} from "ant-design-vue";
 import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
-import JobHuntEditForm from "@/views/jobUserManager/jobhunt/edit.vue";
 import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 
   export default defineComponent({
     name: 'JobHuntList',
-    components: {BImportExcel,BExportExcel,JobHuntEditForm},
+    components: {BImportExcel,BExportExcel},
     setup() {
       const formRef = ref<FormInstance>();
+      const tabsViewStore = useTabsViewStore();
       const expand = ref(false);
       const searchParamsState = reactive({
         pageIndex: 1,
@@ -214,7 +214,6 @@ import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps
         },
       });
       const dataList = ref([]);
-      const jobHuntEditModelRef = ref();
       const jobHuntTypeList = ref<SelectProps['options']>();
       const jobUserTypeList = ref<SelectProps['options']>();
       const isAccomplishList = ref<SelectProps['options']>();
@@ -265,10 +264,6 @@ import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps
         });
       };
 
-      const onOperates = (id: string,operation:string,opCategory:any) => {
-        jobHuntEditModelRef.value.show(id,operation,opCategory);
-      };
-
       const loadData = async function () {
         formState.loading = true;
         getJobHuntTypeList();
@@ -280,6 +275,13 @@ import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps
         formState.loading = false;
       };
 
+      const onAdd =()=>{
+        tabsViewStore.addTabByPath('/jobusermgr/jobhunt/add', {id:null});
+      };
+
+      const onEdit = (id: string) => {
+        tabsViewStore.addTabByPath('/jobusermgr/jobhunt/edit', {id:id});
+      };
 
       const getJobHuntTypeList = () => {
         getSysDictionaryList('JobHuntType').then((data) => {
@@ -311,11 +313,11 @@ import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps
         jobHuntTypeList,
         jobUserTypeList,
         isAccomplishList,
-        jobHuntEditModelRef,
         loadData,
-        onDel,
         onSearch,
-        onOperates,
+        onAdd,
+        onEdit,
+        onDel,
         onSelectChange,
         handleTableChange,
         getJobHuntTypeList,

+ 31 - 43
vue/src/views/taskAndLog/dowork/edit.vue

@@ -1,24 +1,13 @@
 <template>
-  <a-modal
-    :width="1200"
-    v-model:visible="visible"
-    :title="title"
-    :confirm-loading="confirmLoading"
-    @ok="handleOk"
-    ok-text="提交"
-    @cancel="handleCancel"
-    cancel-text="取消"
-    :keyboard="false"
-    :mask-closable="false"  >
-    <a-form :model="dataModel" autocomplete="off" >
-      <a-divider orientation="left">基础信息管理</a-divider>
+  <div class="card-edit">
+    <a-form :model="dataModel" autocomplete="off" @finish="onFinish">
+      <a-divider orientation="left">工作日志信息</a-divider>
       <a-row type="flex">
         <a-col :span="7">
           <a-form-item label="姓名" name="siteUserID" :label-col="{span:7}" :rules="[{ required: true, message: '请选择站点人员!' }]">
             <label v-if="opCategory==3">{{dataModel.userName}}</label>
             <a-select ref="select" v-model:value="dataModel.siteUserID" :options="siteUserList"
                       :field-names="{ label: 'text', value: 'value' }" :allow-clear="true" > </a-select>
-<!--            <a-input v-model:value="dataModel.userName" placeholder=""/>-->
           </a-form-item>
         </a-col>
         <a-col :span="8">
@@ -61,12 +50,16 @@
       <a-divider orientation="left">其他</a-divider>
       <b-upload-file :fileRefId="dataModel.doWorkID" :readonly="false" :multiple="true"
                      :setFileList="setFileList" :accept="'.pdf,.png,.jpg'" :disabled="opCategory==3"></b-upload-file>
-
+      <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>
-  </a-modal>
+  </div>
 </template>
 <script lang="ts">
 import {defineComponent, reactive, ref, toRefs} from "vue";
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {get, save} from "@/api/taskAndLog/dowork";
 import BUploadFile from "@/components/file/uploadFile.vue";
 import type {SelectProps} from "ant-design-vue";
@@ -87,13 +80,12 @@ export default defineComponent({
       default: null
     }
   },
-  setup(props) {
-    const formData = reactive<InstitutionModel>({ dataModel:{}});
-    const visible = ref<boolean>(false);
-    const isAllowCommit = ref<boolean>(true);
-    const confirmLoading = ref<boolean>(false);
+  setup() {
     const title = ref();
     const opCategory = ref<any>();
+    const tabsViewStore = useTabsViewStore();
+    const formData = reactive<InstitutionModel>({ dataModel:{}});
+    const isAllowCommit = ref<boolean>(true);
     const formState = reactive({
       total: 0,
       selectedRowKeys: [],
@@ -131,6 +123,9 @@ export default defineComponent({
     }
 
     const loadData = (doWorkID: string) => {
+      getRegionList();
+      getLogTypeList();
+      getSiteUserList();
       get(doWorkID).then((result: any) => {
         formData.dataModel = result;
         console.log("dataModel",formData.dataModel);
@@ -138,23 +133,19 @@ export default defineComponent({
           getStreetList();
         }
       });
-    }
-
-    const show = (id: any,method:string,category:any) => {
-      loadData(id);
-      title.value ="工作日志管理-"+method;
-      opCategory.value = category;
-      getRegionList();
-      getLogTypeList();
-      getSiteUserList();
-      visible.value = true;
     };
 
     const onSelectChange = (selectedRowKeys: any) => {
       formState.selectedRowKeys = selectedRowKeys;
     };
 
-    const handleOk = () => {
+    const onClose = (reload: any) => {
+      tabsViewStore.closeCurrentTabByPath('/taskAndLog/workLog/add');
+      tabsViewStore.closeCurrentTabByPath('/taskAndLog/workLog/edit');
+      tabsViewStore.openTab('/taskAndLog/workLog/index',{reload:reload});
+    };
+
+    const onFinish = () => {
       if(formData.dataModel.siteUserID==null||formData.dataModel.doTypeID ==null||formData.dataModel.workTime==null||
         formData.dataModel.regionCode==null||formData.dataModel.streetCode==null||formData.dataModel.workContent==null){
         message.error("请填写完整的工作日志!");
@@ -163,40 +154,37 @@ export default defineComponent({
       if (isAllowCommit.value){
         save(formData.dataModel).then(result => {
           if (result) {
-            visible.value = false;
-            props.loadData();
+            onClose(1);
           }
         });
       }
     };
 
-    const handleCancel = () => {
-      visible.value = false;
-    };
+
 
     return {
       ...toRefs(formData),
+      loadData,
+      onClose,
+      onFinish,
       formState,
-      opCategory,
-      visible,
       title,
-      confirmLoading,
+      opCategory,
       logTypeList,
       siteUserList,
       regionList,
       streetList,
       isAllowCommit,
-      show,
       getRegionList,
       getStreetList,
       regionChange,
       setFileList,
       onSelectChange,
-      handleOk,
-      handleCancel
     };
   },
   created() {
+    const id = history.state.params?.id;
+    this.loadData(id);
   },
 })
 </script>

+ 16 - 24
vue/src/views/taskAndLog/dowork/index.vue

@@ -71,7 +71,7 @@
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit" functioncode="T01040202" @click='onOperates(null,"新增",1)'>新增</a-button>
+          <a-button type="primary" html-type="submit" functioncode="T01040202" @click='onAdd'>新增</a-button>
           <BExportExcel :title="'导出'" :filename="'工作日志信息'" :url="'/doWork/export'" :params="{...searchParams, rows:100000}"></BExportExcel>
         </a-col>
       </a-row>
@@ -86,25 +86,24 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
-              <a-button type="link" size="small" functioncode="T01040203" @click='onOperates(record.doWorkID,"修改",2)'>编辑</a-button>
+              <a-button type="link" size="small" functioncode="T01040203" @click='onEdit(record.doWorkID)'>编辑</a-button>
               <a-button type="link" size="small" functioncode="T01040204" @click="onDel(record)">删除</a-button>
             </div>
           </template>
         </template>
       </a-table>
     </div>
-    <DoWorkEditForm ref="doWorkEditModelRef" :loadData="loadData"></DoWorkEditForm>
   </div>
 </template>
 
 <script lang="ts">
 import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import {useTabsViewStore} from "@/store/modules/tabsView";
 import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
 import type {FormInstance,SelectProps,TableColumnsType, TableProps} from 'ant-design-vue';
 import {getList,delWorkLog} from '@/api/taskAndLog/dowork';
 import {getRegionCodeList,getStreetCodeList} from '@/api/system/area/index';
 import {getSysDictionaryList} from "@/api/system/dictionary";
-import DoWorkEditForm from "@/views/taskAndLog/dowork/edit.vue";
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {getPaginationTotalTitle} from "@/utils/common";
 import {message, Modal} from "ant-design-vue";
@@ -112,9 +111,10 @@ import dayjs from 'dayjs';
 
 export default defineComponent({
   name: 'doTaskList',
-  components: { DownOutlined, UpOutlined, BExportExcel,DoWorkEditForm},
+  components: { DownOutlined, UpOutlined, BExportExcel},
   setup() {
     const formRef = ref<FormInstance>();
+    const tabsViewStore = useTabsViewStore();
     const expand = ref(false);
     const searchParams = reactive({
       pageIndex: 1,
@@ -164,7 +164,6 @@ export default defineComponent({
     const streetList = ref<SelectProps['options']>();
     const logTypeList = ref<SelectProps['options']>();
     const dataList = ref([]);
-    const doWorkEditModelRef = ref();
 
     const getLogTypeList = async function(){
       const logTypeResult :any = await getSysDictionaryList("LogType");
@@ -186,6 +185,8 @@ export default defineComponent({
 
     const loadData = async function () {
       formState.loading = true;
+      await getLogTypeList();
+      await getRegionList();
       const result: any = await getList(searchParams);
       dataList.value = result.list;
       console.log("dataList",dataList.value);
@@ -244,16 +245,15 @@ export default defineComponent({
 
     };
 
-    const importPost = () => {
-      console.log('导入');
-    }
-    const exportPost = () => {
-      console.log('导出');
-    }
-    const onOperates = (id: string,operation:string,opCategory:any) => {
-      doWorkEditModelRef.value.show(id,operation,opCategory);
+    const onAdd =()=>{
+      tabsViewStore.addTabByPath('/taskAndLog/workLog/add', {id:null});
     };
 
+    const onEdit = (id: string) => {
+      tabsViewStore.addTabByPath('/taskAndLog/workLog/edit', {id:id});
+    };
+
+
     return {
       formRef,
       expand,
@@ -265,30 +265,22 @@ export default defineComponent({
       columns,
       pagination,
       dataList,
-      doWorkEditModelRef,
       handleTableChange,
       onSelectChange,
       onSearch,
-      onOperates,
-      importPost,
-      exportPost,
+      onAdd,
+      onEdit,
       onDel,
       onRangeChange,
       loadData,
-      getLogTypeList,
-      getRegionList,
       changeRegion
     };
   },
   created() {
-    this.getLogTypeList();
-    this.getRegionList();
     this.loadData();
   },
   activated() {
     if (history.state.params?.reload)
-      this.getLogTypeList();
-      this.getRegionList();
       this.loadData();
   }
 });