songxy 1 рік тому
батько
коміт
929c8030a6

+ 1 - 0
client/.env.dev

@@ -6,6 +6,7 @@ VITE_DEV=false
 # 请求路径
 # VITE_BASE_URL='http://10.10.9.113:48080'
 VITE_BASE_URL='http://10.10.10.7:18080'
+# VITE_BASE_URL='http://oa.zjugis.com:28080'
 
 # VITE_BASE_URL='http://10.10.9.168:48080'
 

+ 3 - 0
client/.env.pro

@@ -9,6 +9,9 @@ VITE_BASE_URL='http://oa.zjugis.com:28080'
 # 上传路径
 VITE_UPLOAD_URL='http://oa.zjugis.com:28080/admin-api/infra/file/upload'
 
+# File上传路径
+VITE_FILE_BASE_URI='/infra/file'
+
 # 流程详情页面路径
 VITE_PROCESS_DETAIL_URI='http://oa.zjugis.com:28080/workflow'
 

+ 69 - 8
client/src/api/oa/workflow/index.ts

@@ -1,26 +1,29 @@
 import request from '@/config/axios'
 
 // 获取办件中心列表
-export const getHandlerCaseCenterList = (data) => {
-  return request.post(
+export const getHandlerCaseCenterList = async (data) => {
+  return await request.postOriginal(
     { url: '/HandlerCaseCenter/list', data: data, headersType: 'application/form-data' },
     '/workflow'
   )
 }
 // 获取办件中心模板列表
-export const getFlowTemplateTree = () => {
-  return request.post({ url: '/TFlowTemplateApi/selectFlowTemplateTree' }, '/workflow')
+export const getFlowTemplateTree = async () => {
+  return await request.postOriginal(
+    { url: '/TFlowTemplateApi/selectFlowTemplateTree' },
+    '/workflow'
+  )
 }
 // 获取办件中心汇总数据
-export const getHandlerCaseCenterCount = (data) => {
-  return request.post(
+export const getHandlerCaseCenterCount = async (data) => {
+  return await request.postOriginal(
     { url: '/HandlerCaseCenter/count', data: data, headersType: 'application/form-data' },
     '/workflow'
   )
 }
 // 获取办件中心新建办件模板
-export const getFlowTemplateTreeDataByUser = (data) => {
-  return request.post(
+export const getFlowTemplateTreeDataByUser = async (data) => {
+  return await request.postOriginal(
     {
       url: '/TFlowTemplate/GetFlowTemplateTreeDataByUser',
       data: data,
@@ -29,3 +32,61 @@ export const getFlowTemplateTreeDataByUser = (data) => {
     '/workflow'
   )
 }
+
+//办件中心“追回”操作
+export const recoverActivity = async (data: {
+  activityInstanceId: string
+  participantId: string
+}) => {
+  // {"activityInstanceId": rowObj.ACTIVITYINSID, "participantId": rowObj.PARTICIPANTID}
+  return await request.postOriginal(
+    {
+      url: '/HandlerCaseCenter/recoverActivity',
+      data: data,
+      headersType: 'application/form-data'
+    },
+    '/workflow'
+  )
+}
+
+//办件中心“退回”操作
+export const getCalBackActivity = async (data: {
+  activityInstanceId: string
+  flowInsId: string
+}) => {
+  // {"activityInstanceId": rowObj.ACTIVITYINSID, "flowInsId": rowObj.flowInsId}
+  return await request.postOriginal(
+    {
+      url: '/HandlerCaseCenter/getCalBackActivity',
+      data: data,
+      headersType: 'application/form-data'
+    },
+    '/workflow'
+  )
+}
+
+//办件中心“挂起”操作
+export const isHangUp = async (data: { activityInstanceId: string }) => {
+  // {"activityInstanceId": rowObj.ACTIVITYINSID}
+  return await request.postOriginal(
+    {
+      url: '/Transfer/isHangUp',
+      data: data,
+      headersType: 'application/form-data'
+    },
+    '/workflow'
+  )
+}
+
+//办件中心“作废”操作
+export const isVoid = async (data: { flowInstanceId: string }) => {
+  // {"flowInstanceId": rowObj.flowInstanceId}
+  return await request.postOriginal(
+    {
+      url: '/Transfer/isVoid',
+      data: data,
+      headersType: 'application/form-data'
+    },
+    '/workflow'
+  )
+}

+ 1 - 1
client/src/views/OaSystem/home/homeStaff.vue

@@ -193,7 +193,7 @@ useQuery(
         DICT_TYPE.ABILITY_LEVEL,
         data?.nldj
       )
-      panelList[2]['children'][0]['number'] = data?.nj
+      // panelList[2]['children'][0]['number'] = data?.nj
     }
   }
 )

+ 0 - 6
client/src/views/OaSystem/officeCenter/mainOfficeCenter/common.ts

@@ -1,5 +1,3 @@
-import { string } from 'vue-types'
-
 type TabType = {
   name: string
   key: string
@@ -43,10 +41,6 @@ export const TabColumns = {
       frozen: true,
       fixed: true
     },
-    { label: 'participantId', name: 'PARTICIPANTID', hidden: true },
-    { label: 'activityInsId', name: 'ACTIVITYINSID', hidden: true },
-    { label: 'flowInsId', name: 'FLOWINSID', hidden: true },
-    { label: 'IEXT', name: 'IEXT', hidden: true },
     { label: '业务编号', align: 'center', name: 'CODE', width: 250, fixed: true },
     {
       label: '环节完成情况',

+ 153 - 48
client/src/views/OaSystem/officeCenter/mainOfficeCenter/index.vue

@@ -3,7 +3,13 @@
     <div class="header">
       <el-button type="danger">新建流程</el-button>
       <ul class="tabs">
-        <li v-for="item in tabConfig" :key="item['key']">{{ item['name'] }}</li>
+        <li
+          v-for="item in tabConfig"
+          :key="item['key']"
+          :class="{ active: currentTab === item['key'] }"
+        >
+          {{ item['name'] }}
+        </li>
       </ul>
       <div class="search">
         <el-form :inline="true" :model="searchForm" class="demo-form-inline">
@@ -26,16 +32,59 @@
       </div>
     </div>
     <div class="table_box">
-      <div class="table">
-        <el-table :data="tableData" style="width: 100%" height="250">
-          <el-table-column fixed prop="date" label="Date" width="150" />
-          <el-table-column prop="name" label="Name" width="120" />
-          <el-table-column prop="state" label="State" width="120" />
-          <el-table-column prop="city" label="City" width="320" />
-          <el-table-column prop="address" label="Address" width="600" />
-          <el-table-column prop="zip" label="Zip" width="120" />
+      <div class="table" ref="tableRef">
+        <el-table
+          :data="tableData"
+          style="width: 100%; height: 100%"
+          :style="{ height: tableHeight + 'px' }"
+          stripe
+          :header-cell-style="{
+            background: '#E5F0FB',
+            color: '#233755',
+            height: '50px'
+          }"
+        >
+          <el-table-column
+            v-for="(item, index) in currentColumn"
+            :key="index"
+            :label="item['label']"
+            :prop="item['name']"
+          >
+            <template #default="scope">
+              <template v-if="item['name'] === 'statusVal'">
+                <span v-html="scope.row[item['name']]"></span>
+              </template>
+              <template v-else-if="item['name'] === 'action'">
+                <template v-if="currentTab === '1'">
+                  <el-dropdown split-button type="primary">
+                    办理
+                    <template #dropdown>
+                      <el-dropdown-menu>
+                        <el-dropdown-item
+                          v-for="(bItem, bIndex) in scope.row.btnArrJson"
+                          :key="bIndex"
+                          :disabled="!bItem['isEnable']"
+                          >{{ bItem['value'] }}</el-dropdown-item
+                        >
+                      </el-dropdown-menu>
+                    </template>
+                  </el-dropdown>
+                </template>
+              </template>
+            </template>
+          </el-table-column>
         </el-table>
       </div>
+      <div class="pageBox">
+        <el-pagination
+          v-model:current-page="pageParam.pageNo"
+          :page-size="pageParam.pageSize"
+          background
+          layout="total, prev, pager, next, jumper"
+          :total="records"
+          @current-change="handleCurrentChange"
+        />
+      </div>
     </div>
   </div>
 </template>
@@ -49,7 +98,19 @@ import {
 } from '@/api/oa/workflow'
 import { tabConfig, TabColumns } from './common'
 
+const currentTab = ref<string>('1')
+const currentColumn = ref<any[]>(TabColumns[currentTab.value])
+const tableData = ref<any[]>([])
+const records = ref<number>(0)
+const pageParam = reactive<{
+  pageNo: number
+  pageSize: number
+}>({
+  pageNo: 1,
+  pageSize: 10
+})
 const sendData = {
+  _search: false,
   status: 90,
   flowTemIds: [],
   searchVal: '',
@@ -60,13 +121,25 @@ const sendData = {
   page: 1,
   rows: 15
 }
+const handleCurrentChange = (pageNo: number) => {
+  pageParam.pageNo = pageNo
+}
 const queryHandlerCaseCenterList = () => {
   const formData = new FormData()
   const keys = Object.keys(sendData)
   for (let key of keys) {
     formData.set(key, sendData[key])
   }
-  getHandlerCaseCenterList(formData)
+  getHandlerCaseCenterList(formData).then((result: any) => {
+    if (result.rows && result.rows.length > 0) {
+      result.rows.forEach((item) => {
+        if (item['btnArrJson']) {
+          item['btnArrJson'] = JSON.parse(item['btnArrJson'])
+        }
+      })
+    }
+    tableData.value = result.rows
+  })
   getHandlerCaseCenterCount(formData)
 }
 queryHandlerCaseCenterList()
@@ -80,50 +153,82 @@ const queryFlowTemplateTreeDataByUser = () => {
   getFlowTemplateTreeDataByUser(formData)
 }
 queryFlowTemplateTreeDataByUser()
-const tabs = ref([])
 const searchForm = ref({
   name: ''
 })
-const tableData = [
-  {
-    date: '2016-05-03',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-02',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-04',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-01',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-08',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-06',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  },
-  {
-    date: '2016-05-07',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles'
-  }
-]
+const tableRef: any = ref(null)
+const tableHeight: any = ref(0)
+onMounted(() => {
+  tableHeight.value = tableRef.value.clientHeight
+})
 </script>
 
 <style lang="scss" scoped>
 .mainOfficeCenter {
+  background-color: #fff;
+  padding: 15px;
+  height: 100%;
+  > .header {
+    display: flex;
+    position: relative;
+    margin-bottom: 15px;
+    &::after {
+      content: '';
+      display: block;
+      position: absolute;
+      left: 0px;
+      right: 0px;
+      border-bottom: 1px solid #dee0e3;
+      bottom: 1px;
+    }
+    :deep(.el-form-item--default) {
+      margin-bottom: 0px;
+    }
+    > .tabs {
+      margin: 0px 10px;
+      > li {
+        display: inline-block;
+        padding: 0px 20px;
+        height: 38px;
+        line-height: 32px;
+        color: #626b70;
+        border-top: 2px;
+        font-size: 15px;
+        cursor: pointer;
+        &.active {
+          border-top: 2px solid #2e77e6;
+          border-left: 1px solid #dee0e3;
+          border-right: 1px solid #dee0e3;
+          color: #2e77e6;
+          position: relative;
+          &::after {
+            content: '';
+            display: block;
+            position: absolute;
+            width: 100%;
+            left: 0px;
+            right: 0px;
+            height: 2px;
+            bottom: -1px;
+            background-color: #fff;
+            z-index: 9999999;
+          }
+        }
+      }
+    }
+  }
+  > .table_box {
+    height: calc(100% - 64px);
+    display: flex;
+    flex-direction: column;
+    > .table {
+      flex-grow: 1;
+    }
+    > .pageBox {
+      margin-top: 20px;
+      display: flex;
+      justify-content: flex-end;
+    }
+  }
 }
 </style>

+ 11 - 11
client/src/views/OaSystem/projectCenter/purchaseContract/deptContract.vue

@@ -77,7 +77,7 @@
       <div class="form form-time-range">
         <span class="formSpan">签订时间:</span>
         <el-date-picker
-          v-model="lxsjObj"
+          v-model="qdsjObj"
           type="daterange"
           unlink-panels
           range-separator="To"
@@ -248,7 +248,7 @@ const queryParams = reactive<{
   dueTimeEnd: '',
   deptId: deptId
 })
-const lxsjObj = ref()
+const qdsjObj = ref()
 const dueTimeObj = ref()
 
 const handleCurrentChange = (pageNo: number) => {
@@ -256,9 +256,9 @@ const handleCurrentChange = (pageNo: number) => {
   queryContractListAjax()
 }
 const exportHandle = async () => {
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''
@@ -280,9 +280,9 @@ const searchHandle: () => void = () => {
 }
 const queryContractListAjax = async (): Promise<void> => {
   const urlApi = `/contract/page`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''
@@ -316,9 +316,9 @@ const contractListCalc = ref({
 })
 const queryContractListCalc = async (): Promise<void> => {
   const urlApi = `/contract/list/calc`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''

+ 11 - 11
client/src/views/OaSystem/projectCenter/purchaseContract/myContract.vue

@@ -65,7 +65,7 @@
       <div class="form form-time-range">
         <span class="formSpan">签订时间:</span>
         <el-date-picker
-          v-model="lxsjObj"
+          v-model="qdsjObj"
           type="daterange"
           unlink-panels
           range-separator="To"
@@ -236,7 +236,7 @@ const queryParams = reactive<{
   dueTimeEnd: '',
   managerId: userId
 })
-const lxsjObj = ref()
+const qdsjObj = ref()
 const dueTimeObj = ref()
 
 const handleCurrentChange = (pageNo: number) => {
@@ -244,9 +244,9 @@ const handleCurrentChange = (pageNo: number) => {
   queryContractListAjax()
 }
 const exportHandle = async () => {
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''
@@ -268,9 +268,9 @@ const searchHandle: () => void = () => {
 }
 const queryContractListAjax = async (): Promise<void> => {
   const urlApi = `/contract/page`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''
@@ -304,9 +304,9 @@ const contractListCalc = ref({
 })
 const queryContractListCalc = async (): Promise<void> => {
   const urlApi = `/contract/list/calc`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.signTimeStart = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.signTimeEnd = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (qdsjObj.value && qdsjObj.value.length > 0) {
+    queryParams.signTimeStart = moment(qdsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.signTimeEnd = moment(qdsjObj.value[1]).format('YYYY-MM-DD')
   } else {
     queryParams.signTimeStart = ''
     queryParams.signTimeEnd = ''

+ 57 - 25
client/src/views/OaSystem/projectCenter/purchaseContract/purchaseContract.vue

@@ -78,15 +78,18 @@
       <div class="form form-time-range">
         <span class="formSpan">拿出时间:</span>
         <el-date-picker
-          v-model="queryParams.contractOn"
-          type="date"
-          placeholder="请选择合同拿出时间"
+          v-model="contractOnObj"
+          type="daterange"
+          unlink-panels
+          range-separator="To"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
         />
       </div>
       <div class="form form-time-range">
-        <span class="formSpan">拿出/拿回时间:</span>
+        <span class="formSpan">拿回时间:</span>
         <el-date-picker
-          v-model="lxsjObj"
+          v-model="contractOffObj"
           type="daterange"
           unlink-panels
           range-separator="To"
@@ -231,8 +234,10 @@ const queryParams = reactive<{
   signWay: any
   mainType: any
   secondType: any
-  contractOn: string
-  contractOff: string
+  contractOnStart: string
+  contractOnEnd: string
+  contractOffStart: string
+  contractOffEnd: string
   dueTimeStart: string
   dueTimeEnd: string
   managerId: string
@@ -246,14 +251,17 @@ const queryParams = reactive<{
   signWay: '',
   mainType: '',
   secondType: '',
-  contractOn: '',
-  contractOff: '',
+  contractOnStart: '',
+  contractOnEnd: '',
+  contractOffStart: '',
+  contractOffEnd: '',
   dueTimeStart: '',
   dueTimeEnd: '',
   managerId: '',
   deptId: ''
 })
-const lxsjObj = ref()
+const contractOnObj = ref()
+const contractOffObj = ref()
 const dueTimeObj = ref()
 
 const handleCurrentChange = (pageNo: number) => {
@@ -261,13 +269,21 @@ const handleCurrentChange = (pageNo: number) => {
   queryContractListAjax()
 }
 const exportHandle = async () => {
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (contractOnObj.value && contractOnObj.value.length > 0) {
+    queryParams.contractOnStart = moment(contractOnObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOnEnd = moment(contractOnObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOnStart = ''
+    queryParams.contractOnEnd = ''
+  }
+  if (contractOffObj.value && contractOffObj.value.length > 0) {
+    queryParams.contractOffStart = moment(contractOffObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOffEnd = moment(contractOffObj.value[1]).format('YYYY-MM-DD')
   } else {
-    queryParams.contractOn = ''
-    queryParams.contractOff = ''
+    queryParams.contractOffStart = ''
+    queryParams.contractOffEnd = ''
   }
+
   if (dueTimeObj.value && dueTimeObj.value.length > 0) {
     queryParams.dueTimeStart = moment(dueTimeObj.value[0]).format('YYYY-MM-DD')
     queryParams.dueTimeEnd = moment(dueTimeObj.value[1]).format('YYYY-MM-DD')
@@ -285,13 +301,21 @@ const searchHandle: () => void = () => {
 }
 const queryContractListAjax = async (): Promise<void> => {
   const urlApi = `/contract/page`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (contractOnObj.value && contractOnObj.value.length > 0) {
+    queryParams.contractOnStart = moment(contractOnObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOnEnd = moment(contractOnObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOnStart = ''
+    queryParams.contractOnEnd = ''
+  }
+  if (contractOffObj.value && contractOffObj.value.length > 0) {
+    queryParams.contractOffStart = moment(contractOffObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOffEnd = moment(contractOffObj.value[1]).format('YYYY-MM-DD')
   } else {
-    queryParams.contractOn = ''
-    queryParams.contractOff = ''
+    queryParams.contractOffStart = ''
+    queryParams.contractOffEnd = ''
   }
+
   if (dueTimeObj.value && dueTimeObj.value.length > 0) {
     queryParams.dueTimeStart = moment(dueTimeObj.value[0]).format('YYYY-MM-DD')
     queryParams.dueTimeEnd = moment(dueTimeObj.value[1]).format('YYYY-MM-DD')
@@ -321,13 +345,21 @@ const contractListCalc = ref({
 })
 const queryContractListCalc = async (): Promise<void> => {
   const urlApi = `/contract/list/calc`
-  if (lxsjObj.value && lxsjObj.value.length > 0) {
-    queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
-    queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  if (contractOnObj.value && contractOnObj.value.length > 0) {
+    queryParams.contractOnStart = moment(contractOnObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOnEnd = moment(contractOnObj.value[1]).format('YYYY-MM-DD')
   } else {
-    queryParams.contractOn = ''
-    queryParams.contractOff = ''
+    queryParams.contractOnStart = ''
+    queryParams.contractOnEnd = ''
   }
+  if (contractOffObj.value && contractOffObj.value.length > 0) {
+    queryParams.contractOffStart = moment(contractOffObj.value[0]).format('YYYY-MM-DD')
+    queryParams.contractOffEnd = moment(contractOffObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOffStart = ''
+    queryParams.contractOffEnd = ''
+  }
+
   if (dueTimeObj.value && dueTimeObj.value.length > 0) {
     queryParams.dueTimeStart = moment(dueTimeObj.value[0]).format('YYYY-MM-DD')
     queryParams.dueTimeEnd = moment(dueTimeObj.value[1]).format('YYYY-MM-DD')

+ 57 - 57
zjugis-workflow/src/main/resources/templates/HandlerCaseCenter/js/config.js

@@ -158,64 +158,64 @@
 		},  //待办列配置
 		getFinishGridModel: function () { /*已完成grid列配置*/
 			return [
-				{
-					label: "操作", name: 'action', width: 138, frozen: true, fixed: true, buttons: [
-						{
-							label: "<i class =\"fa fa-search\"></i> 查看",
-							className: "btn btn-info",
-							onClick: function (rowObject, rowindex, link) {
-								link.disabled();
-								gridConfig.goHandler(rowObject.ACTIVITYINSID, rowObject.FLOWINSID, rowObject.DESCRIBTION, rowObject.PARTICIPANTID, true, null, function () {
-									link.enable();//启用
-								});
-							}
-						},
-						{
-							label: "<i class=\"fa fa-gavel\"></i> 追回",
-							className: "btn btn-warning",
-							onClick: function (rowObject, rowindex, link) {
-								if ((rowObject.IEXT || 0) == 1)
-									return;
-								link.disabled();
-								gridConfig.recoverActivity(rowObject, function () {
-									link.enable();//启用
-								});
+                {
+                    label: "操作", name: 'action', width: 138, frozen: true, fixed: true, buttons: [
+                        {
+                            label: "<i class =\"fa fa-search\"></i> 查看",
+                            className: "btn btn-info",
+                            onClick: function (rowObject, rowindex, link) {
+                                link.disabled();
+                                gridConfig.goHandler(rowObject.ACTIVITYINSID, rowObject.FLOWINSID, rowObject.DESCRIBTION, rowObject.PARTICIPANTID, true, null, function () {
+                                    link.enable();//启用
+                                });
+                            }
+                        },
+                        {
+                            label: "<i class=\"fa fa-gavel\"></i> 追回",
+                            className: "btn btn-warning",
+                            onClick: function (rowObject, rowindex, link) {
+                                if ((rowObject.IEXT || 0) == 1)
+                                    return;
+                                link.disabled();
+                                gridConfig.recoverActivity(rowObject, function () {
+                                    link.enable();//启用
+                                });
 
-							}, enable: function (rowObject, rowindex) {
-								//0隐藏 1显示,默认显示
-								return (rowObject.IEXT || 0) == 0;
-							},
-						}
-					]
-				},
-				{label: 'participantId', name: "PARTICIPANTID", hidden: true},
-				{label: 'activityInsId', name: "ACTIVITYINSID", hidden: true},
-				{label: 'flowInsId', name: "FLOWINSID", hidden: true},
-				{label: "IEXT", name: "IEXT", hidden: true},
-				{label: '业务编号', align: "center", name: "CODE", width: 250, fixed: true},
-				{
-					label: '环节完成情况',
-					align: "center",
-					name: "statusVal",
-					width: 90,
-					fixed: true,
-				},
-				{
-					label: '流程描述',
-					align: "left",
-					name: "DESCRIBTION",
-					minwidth: 600,
-					formatter: gridConfig.descFormatter
-				},
-				{label: '流程名称', align: "left", name: "NAME", width: 130, fixed: true},
-				{label: '完成环节', align: "center", name: "ACTIVITYNAME", width: 160, fixed: true},
-				{label: '完成时间', align: "center", name: "FINISH_TIME", width: 160, fixed: true,
-					formatter:function(cellvalue, option, rowObject){
-						return longToDate(cellvalue);
-					}
-				},
-				{label: '当前在办环节', align: "center", name: "currentActivityVal", width: 180, fixed: true}
-			];
+                            }, enable: function (rowObject, rowindex) {
+                                //0隐藏 1显示,默认显示
+                                return (rowObject.IEXT || 0) == 0;
+                            },
+                        }
+                    ]
+                },
+                {label: 'participantId', name: "PARTICIPANTID", hidden: true},
+                {label: 'activityInsId', name: "ACTIVITYINSID", hidden: true},
+                {label: 'flowInsId', name: "FLOWINSID", hidden: true},
+                {label: "IEXT", name: "IEXT", hidden: true},
+                {label: '业务编号', align: "center", name: "CODE", width: 250, fixed: true},
+                {
+                    label: '环节完成情况',
+                    align: "center",
+                    name: "statusVal",
+                    width: 90,
+                    fixed: true,
+                },
+                {
+                    label: '流程描述',
+                    align: "left",
+                    name: "DESCRIBTION",
+                    minwidth: 600,
+                    formatter: gridConfig.descFormatter
+                },
+                {label: '流程名称', align: "left", name: "NAME", width: 130, fixed: true},
+                {label: '完成环节', align: "center", name: "ACTIVITYNAME", width: 160, fixed: true},
+                {label: '完成时间', align: "center", name: "FINISH_TIME", width: 160, fixed: true,
+                    formatter:function(cellvalue, option, rowObject){
+                        return longToDate(cellvalue);
+                    }
+                },
+                {label: '当前在办环节', align: "center", name: "currentActivityVal", width: 180, fixed: true}
+            ];
 		}, //已完成
 		getCallbackGridModel: function () { /*已完成grid列配置*/
 			return [