Bladeren bron

feat: 协同办公优化

liujt 1 week geleden
bovenliggende
commit
f4e9cf1360
1 gewijzigde bestanden met toevoegingen van 210 en 167 verwijderingen
  1. 210 167
      src/views/bpm/collaborative/index.vue

+ 210 - 167
src/views/bpm/collaborative/index.vue

@@ -59,6 +59,112 @@
               v-model="activeName"
             >
               <el-tab-pane label="个人记录" name="user">
+                <div class="filter-container">
+                  <el-form
+                    class="ele-form-search"
+                    @keyup.enter.native="reload"
+                    @submit.native.prevent
+                  >
+                    <el-row
+                      :gutter="15"
+                      style="display: flex; align-items: center"
+                    >
+                      <el-col v-bind="{ span: 4 }">
+                        <el-form-item label="分类:" label-width="60px">
+                          <el-select v-model="params.dictType" @change="changeDictTypeChange">
+                            <el-option
+                              v-for="(item, index) in dictList[
+                                'collaborative_type'
+                              ]"
+                              :key="index"
+                              :value="item.value"
+                              :label="item.label"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </el-col>
+                      <el-col v-bind="{ span: 4 }">
+                        <el-form-item label="单据:" label-width="60px">
+                          <el-select v-model="params.formId" @change="changeFormIdChange">
+                            <el-option
+                              v-for="(item, index) in templateList[
+                                currentDictType
+                              ]"
+                              :key="index"
+                              :value="item.id"
+                              :label="item.name"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </el-col>
+                      <el-col v-bind="{ span: 4 }">
+                        <el-form-item
+                          label="结果:"
+                          prop="result"
+                          label-width="60px"
+                        >
+                          <!-- <el-select
+                            v-model="params.status"
+                            placeholder="请选择状态"
+                            clearable
+                          >
+                            <el-option
+                              v-for="dict in statusList"
+                              :key="dict.value"
+                              :label="dict.label"
+                              :value="dict.value"
+                            />
+                          </el-select> -->
+                          <DictSelection
+                            dictName="流程实例的结果"
+                            clearable
+                            v-model="params.result"
+                          >
+                          </DictSelection>
+                        </el-form-item>
+                      </el-col>
+                      <el-col v-bind="{ span: 6 }">
+                        <el-form-item
+                          label="创建时间:"
+                          prop="createTime1"
+                          label-width="90px"
+                        >
+                          <el-date-picker
+                            v-model="createTime1"
+                            style="width: 100%"
+                            value-format="yyyy-MM-dd HH:mm:ss"
+                            type="daterange"
+                            range-separator="-"
+                            start-placeholder="开始日期"
+                            end-placeholder="结束日期"
+                            :default-time="['00:00:00', '23:59:59']"
+                          />
+                        </el-form-item>
+                      </el-col>
+                      <el-col v-bind="{ span: 4 }">
+                        <el-form-item
+                          label=""
+                          prop="createTime1"
+                          label-width="90px"
+                        >
+                          <!-- <div class="filter-container"> -->
+                            <div class="ele-form-actions">
+                              <el-button
+                                type="primary"
+                                icon="el-icon-search"
+                                class="ele-btn-icon"
+                                @click="reload"
+                              >
+                                查询
+                              </el-button>
+                              <el-button @click="reset">重置</el-button>
+                            </div>
+                          <!-- </div> -->
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                  </el-form>
+                </div>
                 <ele-pro-table
                   ref="table"
                   height="calc(100vh - 380px)"
@@ -69,108 +175,12 @@
                   :cache-key="cacheKeyUrl"
                   :page-size="20"
                 >
-                  <template v-slot:toolbar="{ row }">
-                    <div class="filter-container">
-                      <el-form
-                        class="ele-form-search"
-                        @keyup.enter.native="reload"
-                        @submit.native.prevent
-                      >
-                        <el-row
-                          :gutter="15"
-                          style="display: flex; align-items: center"
-                        >
-                          <el-col v-bind="{ span: 4 }">
-                            <el-form-item label="分类:" label-width="60px">
-                              <el-select v-model="params.dictType" @change="changeDictTypeChange">
-                                <el-option
-                                  v-for="(item, index) in dictList[
-                                    'collaborative_type'
-                                  ]"
-                                  :key="index"
-                                  :value="item.value"
-                                  :label="item.label"
-                                ></el-option>
-                              </el-select>
-                            </el-form-item>
-                          </el-col>
-                          <el-col v-bind="{ span: 4 }">
-                            <el-form-item label="单据:" label-width="60px">
-                              <el-select v-model="params.formId" @change="changeFormIdChange">
-                                <el-option
-                                  v-for="(item, index) in templateList[
-                                    currentDictType
-                                  ]"
-                                  :key="index"
-                                  :value="item.id"
-                                  :label="item.name"
-                                ></el-option>
-                              </el-select>
-                            </el-form-item>
-                          </el-col>
-                          <el-col v-bind="{ span: 4 }">
-                            <el-form-item
-                              label="结果:"
-                              prop="result"
-                              label-width="60px"
-                            >
-                              <!-- <el-select
-                                v-model="params.status"
-                                placeholder="请选择状态"
-                                clearable
-                              >
-                                <el-option
-                                  v-for="dict in statusList"
-                                  :key="dict.value"
-                                  :label="dict.label"
-                                  :value="dict.value"
-                                />
-                              </el-select> -->
-                              <DictSelection
-                                dictName="流程实例的结果"
-                                clearable
-                                v-model="params.result"
-                              >
-                              </DictSelection>
-                            </el-form-item>
-                          </el-col>
-                          <el-col v-bind="{ span: 10 }">
-                            <el-form-item
-                              label="创建时间:"
-                              prop="createTime1"
-                              label-width="90px"
-                            >
-                              <el-date-picker
-                                v-model="createTime1"
-                                style="width: 100%"
-                                value-format="yyyy-MM-dd HH:mm:ss"
-                                type="daterange"
-                                range-separator="-"
-                                start-placeholder="开始日期"
-                                end-placeholder="结束日期"
-                                :default-time="['00:00:00', '23:59:59']"
-                              />
-                            </el-form-item>
-                          </el-col>
-                        </el-row>
-                      </el-form>
-                    </div>
+                  <!-- <template v-slot:toolbar="{ row }">
+                    
                   </template>
                   <template v-slot:toolkit="{ row }">
-                    <div class="filter-container">
-                      <div class="ele-form-actions">
-                        <el-button
-                          type="primary"
-                          icon="el-icon-search"
-                          class="ele-btn-icon"
-                          @click="reload"
-                        >
-                          查询
-                        </el-button>
-                        <el-button @click="reset">重置</el-button>
-                      </div>
-                    </div>
-                  </template>
+                    
+                  </template> -->
                   <template v-slot:formName="{ row }">
                     <el-link
                       type="primary"
@@ -267,17 +277,7 @@
                 </ele-pro-table>
               </el-tab-pane>
               <el-tab-pane label="部门记录" name="dept" v-if="$hasPermission('wt:collaborative:department')">
-                <ele-pro-table
-                  ref="deptTable"
-                  :columns="deptColumns"
-                  :datasource="deptDatasource"
-                  cache-key="deptDatasource"
-                  :toolkit="[]"
-                  height="calc(100vh - 450px)"
-                  :init-load="false"
-                >
-                  <template v-slot:toolbar="{ row }">
-                    <div class="filter-container">
+                <div class="filter-container">
                       <el-form
                         class="ele-form-search"
                         @keyup.enter.native="deptReload"
@@ -368,25 +368,44 @@
                               />
                             </el-form-item>
                           </el-col>
+                          <el-col v-bind="{ span: 4 }">
+                            <el-form-item
+                              label=""
+                              prop="createTime1"
+                              label-width="90px"
+                            >
+                              <div class="ele-form-actions">
+                                <el-button
+                                  type="primary"
+                                  icon="el-icon-search"
+                                  class="ele-btn-icon"
+                                  @click="deptReload"
+                                >
+                                  查询
+                                </el-button>
+                                <el-button @click="deptReset">重置</el-button>
+                              </div>
+                            </el-form-item>
+                          </el-col>
                         </el-row>
                       </el-form>
                     </div>
+                <ele-pro-table
+                  ref="deptTable"
+                  :columns="deptColumns"
+                  :datasource="deptDatasource"
+                  cache-key="deptDatasource"
+                  height="calc(100vh - 450px)"
+                  :init-load="false"
+                >
+                  <!-- <template v-slot:toolbar="{ row }">
+                    
                   </template>
                   <template v-slot:toolkit="{ row }">
                     <div class="filter-container">
-                      <div class="ele-form-actions">
-                        <el-button
-                          type="primary"
-                          icon="el-icon-search"
-                          class="ele-btn-icon"
-                          @click="deptReload"
-                        >
-                          查询
-                        </el-button>
-                        <el-button @click="deptReset">重置</el-button>
-                      </div>
+                      
                     </div>
-                  </template>
+                  </template> -->
                   <template v-slot:dictType="{ row }">
                     {{ getDictV('collaborative_type', row.dictType) }}
                   </template>
@@ -467,17 +486,7 @@
                 </ele-pro-table>
               </el-tab-pane>
               <el-tab-pane label="通知我的记录" name="notice">
-                <ele-pro-table
-                  ref="noticeTable"
-                  :columns="deptColumns"
-                  :datasource="noticeDatasource"
-                  cache-key="noticeDatasource"
-                  height="calc(100vh - 450px)"
-                  :toolkit="[]"
-                  :init-load="false"
-                >
-                  <template v-slot:toolbar="{ row }">
-                    <div class="filter-container">
+                <div class="filter-container">
                       <el-form
                         class="ele-form-search"
                         @keyup.enter.native="noticeReload"
@@ -568,23 +577,42 @@
                               />
                             </el-form-item>
                           </el-col>
+                          <el-col v-bind="{ span: 4 }">
+                            <el-form-item
+                              label=""
+                              prop="createTime1"
+                              label-width="90px"
+                            >
+                              <div class="ele-form-actions">
+                                <el-button
+                                  type="primary"
+                                  icon="el-icon-search"
+                                  class="ele-btn-icon"
+                                  @click="noticeReload"
+                                >
+                                  查询
+                                </el-button>
+                                <el-button @click="noticeReset">重置</el-button>
+                              </div>
+                            </el-form-item>
+                          </el-col>
                         </el-row>
                       </el-form>
                     </div>
+                <ele-pro-table
+                  ref="noticeTable"
+                  :columns="deptColumns"
+                  :datasource="noticeDatasource"
+                  cache-key="noticeDatasource"
+                  height="calc(100vh - 450px)"
+                  :init-load="false"
+                >
+                  <template v-slot:toolbar="{ row }">
+                    
                   </template>
                   <template v-slot:toolkit="{ row }">
                     <div class="filter-container">
-                      <div class="ele-form-actions">
-                        <el-button
-                          type="primary"
-                          icon="el-icon-search"
-                          class="ele-btn-icon"
-                          @click="noticeReload"
-                        >
-                          查询
-                        </el-button>
-                        <el-button @click="noticeReset">重置</el-button>
-                      </div>
+                      
                     </div>
                   </template>
                   <template v-slot:dictType="{ row }">
@@ -668,17 +696,7 @@
                 </ele-pro-table>
               </el-tab-pane>
               <el-tab-pane label="全部记录" name="all" v-if="$hasPermission('wt:collaborative:all')">
-                <ele-pro-table
-                  ref="allTable"
-                  :columns="deptColumns"
-                  :datasource="allDatasource"
-                  cache-key="allDatasource"
-                  :toolkit="[]"
-                  height="calc(100vh - 450px)"
-                  :init-load="false"
-                >
-                  <template v-slot:toolbar="{ row }">
-                    <div class="filter-container">
+                <div class="filter-container">
                       <el-form
                         class="ele-form-search"
                         @keyup.enter.native="allReload"
@@ -757,23 +775,42 @@
                               />
                             </el-form-item>
                           </el-col>
+                          <el-col v-bind="{ span: 4 }">
+                            <el-form-item
+                              label=""
+                              prop="createTime1"
+                              label-width="90px"
+                            >
+                              <div class="ele-form-actions">
+                                <el-button
+                                  type="primary"
+                                  icon="el-icon-search"
+                                  class="ele-btn-icon"
+                                  @click="allReload"
+                                >
+                                  查询
+                                </el-button>
+                                <el-button @click="allReset">重置</el-button>
+                              </div>
+                            </el-form-item>
+                          </el-col>
                         </el-row>
                       </el-form>
                     </div>
+                <ele-pro-table
+                  ref="allTable"
+                  :columns="deptColumns"
+                  :datasource="allDatasource"
+                  cache-key="allDatasource"
+                  height="calc(100vh - 450px)"
+                  :init-load="false"
+                >
+                  <template v-slot:toolbar="{ row }">
+                    
                   </template>
                   <template v-slot:toolkit="{ row }">
                     <div class="filter-container">
-                      <div class="ele-form-actions">
-                        <el-button
-                          type="primary"
-                          icon="el-icon-search"
-                          class="ele-btn-icon"
-                          @click="allReload"
-                        >
-                          查询
-                        </el-button>
-                        <el-button @click="allReset">重置</el-button>
-                      </div>
+                      
                     </div>
                   </template>
                   <template v-slot:dictType="{ row }">
@@ -1306,6 +1343,8 @@
           ) || {};
         let makingJson = find.formJson?.makingJson ? JSON.parse(find.formJson.makingJson) || {} : {};
         this.formColumnList = makingJson.list;
+
+        console.log('reload~~~', this.formColumnList);
         this.$nextTick(() => {
               this.$refs.table.reload({ page: 1, where });
         });
@@ -1472,6 +1511,10 @@
     width: 100%;
   }
 
+  .filter-container {
+    margin-bottom: 10px;
+  }
+
   .content-box {
     width: 100%;
     //max-width: 273px;