洪海涛 4 年之前
父节点
当前提交
24f60c463c
共有 2 个文件被更改,包括 191 次插入179 次删除
  1. 1 0
      src/api/qualityMonthlyReport/index.js
  2. 190 179
      src/views/monthlyReport/childrenPage/editReport/components/MrTable.vue

+ 1 - 0
src/api/qualityMonthlyReport/index.js

@@ -143,6 +143,7 @@ export function createMonthlyReport(data) {
   return request({
     url: TeamManagement + `/monthlyReport/create`,
     method: 'post',
+    timeout: '10000',
     data
   })
 }

+ 190 - 179
src/views/monthlyReport/childrenPage/editReport/components/MrTable.vue

@@ -5,208 +5,220 @@
       style="padding-top: 10px;"
       v-html="analyticFeedback"
     />
-    <el-table
-      :data="tableData"
-      border
-      style="width: 100%; margin-top: 10px"
-      highlight-current-row
-      row-key="rowKey"
-      :expand-row-keys="expandRowKeys"
-      :header-cell-style="{
-        background: '#F7F7F7',
-        color: '#4a4a4a',
-        'font-size': '14px',
-        'font-weight': '500'
-      }"
-      :cell-style="{ 'font-size': '14px', color: 'rgb(102,102,102)' }"
-      size="small"
-      show-overflow-tooltip="true"
-      @click.stop
-    >
-      <!-- <el-table-column v-if="index === 0 && tabsActive.indexOf('本月重点问题') > -1
-        && pageType !== 'edit' ? 'expand' : ''" label="展开" type="expand"> -->
-      <el-table-column
-        v-for="(item, index) in setColumns(columns)"
-        :key="item.headerKey"
-        :data-index="index"
-        :prop="item.headerKey"
-        :align="item.align"
-        :label="item.name"
-        :type="item.type"
-        :min-width="setMinWidth(item)"
-        :fixed="isFixed(item, index, columns)"
+    <span @click.stop>
+      <el-table
+        :data="tableData"
+        border
+        style="width: 100%; margin-top: 10px"
+        highlight-current-row
+        row-key="rowKey"
+        :expand-row-keys="expandRowKeys"
+        :header-cell-style="{
+          background: '#F7F7F7',
+          color: '#4a4a4a',
+          'font-size': '14px',
+          'font-weight': '500'
+        }"
+        :cell-style="{ 'font-size': '14px', color: 'rgb(102,102,102)' }"
+        size="small"
+        show-overflow-tooltip="true"
       >
-        <template slot-scope="scope">
-          <!--    展开    -->
-          <div v-if="item.type === 'expand'">
-            <TableExpandRow
-              :analytic-feedback="scope.row.analyticFeedback"
-              @upAnalyticFeedback="setAnalyticFeedback"
-            />
-          </div>
-          <!--    操作列    -->
-          <div v-else-if="item.name === '操作'">
-            <div v-if="isExpand">
-              <el-button
-                v-if="isShowButton(scope.row, item)"
-                type="text"
-                @click.stop="btnFun({ value: '分析反馈' }, scope)"
-                >分析反馈
-              </el-button>
+        <!-- <el-table-column v-if="index === 0 && tabsActive.indexOf('本月重点问题') > -1
+        && pageType !== 'edit' ? 'expand' : ''" label="展开" type="expand"> -->
+        <el-table-column
+          v-for="(item, index) in setColumns(columns)"
+          :key="item.headerKey"
+          :data-index="index"
+          :prop="item.headerKey"
+          :align="item.align"
+          :label="item.name"
+          :type="item.type"
+          :min-width="setMinWidth(item)"
+          :fixed="isFixed(item, index, columns)"
+        >
+          <template slot-scope="scope">
+            <!--    展开    -->
+            <div v-if="item.type === 'expand'">
+              <TableExpandRow
+                :analytic-feedback="scope.row.analyticFeedback"
+                @upAnalyticFeedback="setAnalyticFeedback"
+              />
             </div>
-            <span v-else>
-              <span
-                v-for="(btnItem, btnIndex) in item.defaultValue"
-                :key="btnIndex"
-              >
+            <!--    操作列    -->
+            <div v-else-if="item.name === '操作'">
+              <div v-if="isExpand">
                 <el-button
                   v-if="isShowButton(scope.row, item)"
-                  style="margin-right: 10px"
                   type="text"
-                  @click.stop="btnFun(btnItem, scope)"
-                  >{{ btnItem.value }}</el-button
+                  @click.stop="btnFun({ value: '分析反馈' }, scope)"
+                  >分析反馈
+                </el-button>
+              </div>
+              <span v-else>
+                <span
+                  v-for="(btnItem, btnIndex) in item.defaultValue"
+                  :key="btnIndex"
                 >
+                  <el-button
+                    v-if="isShowButton(scope.row, item)"
+                    style="margin-right: 10px"
+                    type="text"
+                    @click.stop="btnFun(btnItem, scope)"
+                    >{{ btnItem.value }}</el-button
+                  >
+                </span>
               </span>
-            </span>
-          </div>
-          <div
-            v-else
-            class="edit-wrapper"
-            :style="{
-              cursor: pageDate.status < 20 ? 'pointer' : 'auto'
-            }"
-          >
-            <!--  <div v-if="editKeys.indexOf(`${scope.row.rowKey}_${index}`) > -1">  -->
-            <div v-if="editKeys.indexOf(domKey) > -1 && !item.defaultValue">
-              <div v-if="item.displayType === 'Select'">
-                <div v-if="item.selectType && item.selectType === 'Time'">
-                  <el-date-picker
+            </div>
+            <div
+              v-else
+              class="edit-wrapper"
+              :style="{
+                cursor: pageDate.status < 20 ? 'pointer' : 'auto'
+              }"
+            >
+              <!--  <div v-if="editKeys.indexOf(`${scope.row.rowKey}_${index}`) > -1">  -->
+              <div v-if="editKeys.indexOf(domKey) > -1 && !item.defaultValue">
+                <div v-if="item.displayType === 'Select'">
+                  <div v-if="item.selectType && item.selectType === 'Time'">
+                    <el-date-picker
+                      v-model="scope.row[item.headerKey]"
+                      type="date"
+                      style="width: 90%"
+                      value-format="yyyy-MM-dd"
+                      size="mini"
+                      placeholder="选择日期"
+                    />
+                  </div>
+                  <div
+                    v-else-if="
+                      item.selectType && item.selectType === 'SinglePeople'
+                    "
+                  >
+                    <searchPeople :value.sync="scope.row[item.headerKey]" />
+                  </div>
+                  <div
+                    v-else-if="
+                      item.selectType && item.selectType === 'MultiplePeople'
+                    "
+                  >
+                    <searchPeople
+                      :value.sync="scope.row[item.headerKey]"
+                      :multiple="true"
+                    />
+                  </div>
+                  <div
+                    v-else-if="item.selectType && item.selectType === 'people'"
+                  >
+                    <searchPeople
+                      :value.sync="scope.row[item.headerKey]"
+                      :multiple="true"
+                    />
+                  </div>
+                  <el-select
+                    v-else
                     v-model="scope.row[item.headerKey]"
-                    type="date"
-                    style="width: 90%"
-                    value-format="yyyy-MM-dd"
                     size="mini"
-                    placeholder="选择日期"
-                  />
-                </div>
-                <div
-                  v-else-if="
-                    item.selectType && item.selectType === 'SinglePeople'
-                  "
-                >
-                  <searchPeople :value.sync="scope.row[item.headerKey]" />
-                </div>
-                <div
-                  v-else-if="
-                    item.selectType && item.selectType === 'MultiplePeople'
-                  "
-                >
-                  <searchPeople
-                    :value.sync="scope.row[item.headerKey]"
-                    :multiple="true"
-                  />
+                    placeholder="请选择"
+                    style="width: 80%"
+                  >
+                    <el-option
+                      v-for="optionItem in item.selectEnum"
+                      :key="optionItem"
+                      :label="optionItem"
+                      :value="optionItem"
+                      >{{ optionItem }}
+                    </el-option>
+                  </el-select>
                 </div>
-                <div
-                  v-else-if="item.selectType && item.selectType === 'people'"
-                >
-                  <searchPeople
-                    :value.sync="scope.row[item.headerKey]"
-                    :multiple="true"
-                  />
+
+                <el-input
+                  v-else-if="item.displayType === 'Texterea'"
+                  v-model="scope.row[item.headerKey]"
+                  type="textarea"
+                  placeholder="请输入"
+                  :maxlength="item.name.search(/天数/) > -1 ? 10 : ''"
+                  :autosize="{
+                    minRows: item.name.search(/天数/) > -1 ? 1 : 2,
+                    maxRows: 30
+                  }"
+                  show-word-limit
+                />
+                <div v-else-if="item.displayType === 'Cascader'">
+                  <Cascader v-model="scope.row[item.headerKey]" />
                 </div>
-                <el-select
+                <div v-else-if="item.defaultValue === 'Select'" />
+                <el-input
                   v-else
                   v-model="scope.row[item.headerKey]"
                   size="mini"
-                  placeholder="请选择"
-                  style="width: 80%"
-                >
-                  <el-option
-                    v-for="optionItem in item.selectEnum"
-                    :key="optionItem"
-                    :label="optionItem"
-                    :value="optionItem"
-                    >{{ optionItem }}
-                  </el-option>
-                </el-select>
+                  maxlength="100"
+                  show-word-limit
+                  placeholder="请输入"
+                />
               </div>
-
-              <el-input
-                v-else-if="item.displayType === 'Texterea'"
-                v-model="scope.row[item.headerKey]"
-                type="textarea"
-                placeholder="请输入"
-                :maxlength="item.name.search(/天数/) > -1 ? 10 : ''"
-                :autosize="{
-                  minRows: item.name.search(/天数/) > -1 ? 1 : 2,
-                  maxRows: 30
-                }"
-                show-word-limit
-              />
-              <div v-else-if="item.displayType === 'Cascader'">
-                <Cascader v-model="scope.row[item.headerKey]" />
-              </div>
-              <div v-else-if="item.defaultValue === 'Select'" />
-              <el-input
+              <span v-else-if="item.displayType === 'Text'">{{
+                item.defaultValue[0].value
+              }}</span>
+              <!--  <div v-else class="edit-cell" @click.stop="editLine(scope.row, index)">  -->
+              <div
                 v-else
-                v-model="scope.row[item.headerKey]"
-                size="mini"
-                maxlength="100"
-                show-word-limit
-                placeholder="请输入"
-              />
-            </div>
-            <span v-else-if="item.displayType === 'Text'">{{
-              item.defaultValue[0].value
-            }}</span>
-            <!--  <div v-else class="edit-cell" @click.stop="editLine(scope.row, index)">  -->
-            <div
-              v-else
-              class="edit-cell"
-              @click.stop="editLine(scope.row, index)"
-            >
-              <div v-if="item.displayType === 'Cascader'">
-                <CascaderInfo :team-data="scope.row[item.headerKey]" />
-              </div>
-              <div v-else-if="item.displayType === 'Select'">
-                <!-- 单个人员选择 -->
-                <div
-                  v-if="item.selectType && item.selectType === 'SinglePeople'"
-                >
-                  <MultiplePeopleInfo :team-data="scope.row[item.headerKey]" />
+                class="edit-cell"
+                @click.stop="editLine(scope.row, index)"
+              >
+                <div v-if="item.displayType === 'Cascader'">
+                  <CascaderInfo :team-data="scope.row[item.headerKey]" />
                 </div>
-                <!-- 多个人员选择 -->
-                <div
-                  v-else-if="
-                    item.selectType && item.selectType === 'MultiplePeople'
-                  "
-                >
-                  <!-- <searchPeople :value.sync="scope.row[item.headerKey]"
+                <div v-else-if="item.displayType === 'Select'">
+                  <!-- 单个人员选择 -->
+                  <div
+                    v-if="item.selectType && item.selectType === 'SinglePeople'"
+                  >
+                    <MultiplePeopleInfo
+                      :team-data="scope.row[item.headerKey]"
+                    />
+                  </div>
+                  <!-- 多个人员选择 -->
+                  <div
+                    v-else-if="
+                      item.selectType && item.selectType === 'MultiplePeople'
+                    "
+                  >
+                    <!-- <searchPeople :value.sync="scope.row[item.headerKey]"
                   :multiple="true" disabled />-->
-                  <MultiplePeopleInfo :team-data="scope.row[item.headerKey]" />
+                    <MultiplePeopleInfo
+                      :team-data="scope.row[item.headerKey]"
+                    />
+                  </div>
+                  <!-- 多个人员选择 -->
+                  <div
+                    v-else-if="item.selectType && item.selectType === 'people'"
+                  >
+                    <MultiplePeopleInfo
+                      :team-data="scope.row[item.headerKey]"
+                    />
+                  </div>
+                  <div v-else>
+                    {{ scope.row[item.headerKey] }}
+                  </div>
                 </div>
-                <!-- 多个人员选择 -->
-                <div
-                  v-else-if="item.selectType && item.selectType === 'people'"
-                >
-                  <MultiplePeopleInfo :team-data="scope.row[item.headerKey]" />
+                <div v-else-if="item.displayType === 'Texterea'">
+                  <TextInfo :text="scope.row[item.headerKey]" />
                 </div>
                 <div v-else>
-                  {{ scope.row[item.headerKey] }}
+                  <span v-html="scope.row[item.headerKey]" />
                 </div>
               </div>
-              <div v-else-if="item.displayType === 'Texterea'">
-                <TextInfo :text="scope.row[item.headerKey]" />
-              </div>
-              <div v-else>
-                <span v-html="scope.row[item.headerKey]" />
-              </div>
             </div>
-          </div>
-        </template>
-      </el-table-column>
-    </el-table>
-    <div class="plus-table-data" :style="{ marginBottom: plusTableDataBottom }" @click.stop>
+          </template>
+        </el-table-column>
+      </el-table>
+    </span>
+
+    <div
+      class="plus-table-data"
+      :style="{ marginBottom: plusTableDataBottom }"
+      @click.stop
+    >
       <el-button
         v-if="pageDate && pageDate.status < 20"
         type="text"
@@ -221,7 +233,6 @@
       <markingIssues ref="markingIssues" />
       <Analysis ref="Analysis" @upData="upDataAnalysis" />
     </span>
-
   </div>
 </template>