Bläddra i källkod

项目资料收集

ZaiZai 1 år sedan
förälder
incheckning
01ae21a824
2 ändrade filer med 101 tillägg och 2 borttagningar
  1. 4 0
      src/styles/app/element.scss
  2. 97 2
      src/views/project/admin/list.vue

+ 4 - 0
src/styles/app/element.scss

@@ -1,3 +1,7 @@
 .el-tour__content {
     outline: none;
 }
+.hc-form-upload-box.hc-form-drop-upload .hc-ui-form-upload-box .hc-ui-form-item-dashed {
+    min-height: 80px;
+    justify-content: center;
+}

+ 97 - 2
src/views/project/admin/list.vue

@@ -24,9 +24,9 @@
                     <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </div>
-            <el-button type="success" class="ml-6">生成报告</el-button>
+            <el-button type="success" class="ml-6" @click="reportsClick">生成报告</el-button>
             <el-button v-del-com:[delTableItem] type="danger" class="ml-2" :disabled="tableCheckKeys.length <= 0">批量删除</el-button>
-            <el-button type="warning" class="ml-2">导入</el-button>
+            <el-button type="warning" class="ml-2" @click="importClick">导入</el-button>
             <el-button v-yes-com:[deriveTableItem] type="primary" class="ml-2" :disabled="tableCheckKeys.length <= 0">批量导出</el-button>
         </template>
         <HcTableList ref="tableRef" is-admin @tap="rowNameClick" @check="tableCheck" />
@@ -34,6 +34,52 @@
             <div>建设规模:共计 xx 公里</div>
             <hc-pages :pages="searchForm" @change="pageChange" />
         </template>
+
+        <!-- 生成报告 -->
+        <hc-dialog v-model="isReportsShow" widths="24rem" title="生成报告" @close="reportsModalClose">
+            <el-form ref="reportsFormRef" :model="reportsForm" :rules="reportsFormRules" label-position="top" label-width="auto">
+                <el-row :gutter="20">
+                    <el-col :span="12">
+                        <el-form-item label="选择季度:" prop="key1">
+                            <el-select v-model="reportsForm.key1" placeholder="选择季度">
+                                <el-option label="一季度" value="1" />
+                                <el-option label="二季度" value="2" />
+                                <el-option label="三季度" value="3" />
+                                <el-option label="四季度" value="4" />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="选择月份:" prop="key2">
+                            <el-select v-model="reportsForm.key2" placeholder="选择月份">
+                                <template v-for="item in 12" :key="item">
+                                    <el-option :label="`${item}月`" :value="item" />
+                                </template>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <template #footer>
+                <div class="dialog-footer">
+                    <el-button size="large" @click="reportsModalClose">取消</el-button>
+                    <el-button :loading="reportsLoding" type="primary" @click="saveReportsClick">确定</el-button>
+                </div>
+            </template>
+        </hc-dialog>
+
+        <!-- 导入 -->
+        <hc-dialog v-model="isImportShow" widths="24rem" title="项目数据导入" :footer="false" @close="modalImportClose">
+            <hc-form-upload
+                v-model="importFile" class="hc-form-drop-upload"
+                :options="{ num: 0, type: 'list', drop: true }"
+                :upload="{ options: uploadOptions }"
+            />
+            <div class="hc-flex mt-5">
+                <span class="mr-2">模板下载:</span>
+                <el-button color="#20C98B" size="small" class="text-white">点击下载</el-button>
+            </div>
+        </hc-dialog>
     </hc-card>
 </template>
 
@@ -84,6 +130,55 @@ const delTableItem = () => {
 const deriveTableItem = () => {
     tableRef.value?.batchExport()
 }
+
+//生成报告弹窗
+const isReportsShow = ref(false)
+const reportsClick = () => {
+    isReportsShow.value = true
+}
+
+//生成报告表单
+const reportsFormRef = ref(null)
+const reportsForm = ref({})
+const reportsFormRules = {
+    key1: {
+        required: true,
+        trigger: 'blur',
+        message: '请选择季度',
+    },
+    key2: {
+        required: true,
+        trigger: 'blur',
+        message: '请选择月份',
+    },
+}
+
+//确认生成报告
+const reportsLoding = ref(false)
+const saveReportsClick = () => {
+    isReportsShow.value = false
+}
+
+//关闭弹窗
+const reportsModalClose = () => {
+    isReportsShow.value = false
+}
+
+//项目数据导入
+const isImportShow = ref(false)
+const importFile = ref([])
+const uploadOptions = {
+    accept: '.xls,.xlsx',
+    accept_tip: '请选择Excel文件',
+}
+const importClick = () => {
+    isImportShow.value = true
+}
+
+//关闭项目数据导入弹窗
+const modalImportClose = () => {
+    isImportShow.value = false
+}
 </script>
 
 <style lang="scss">