Browse Source

新增 查询

lfj 3 years ago
parent
commit
72bcd429a4

+ 15 - 0
fjs-scenic-common/src/main/java/com/fjs/scenic/utils/Cons.java

@@ -231,4 +231,19 @@ public class Cons {
      */
     public static final List<String> SCENICS = new ArrayList<>(Arrays.asList("大峡谷景区", "水车坪景区", "濯水景区", "小南海", "十三寨",
             "神龟峡景区", "官村", "爱莉丝", "阿蓬江旅行社公司"));
+
+
+    /**
+     * 后台管理员 景区资料录入权限信息
+     */
+    public interface TYPE_AUTHORITY {
+        /**
+         * 可读可写
+         */
+        public static final Byte ALL = 0;
+        /**
+         * 只读
+         */
+        public static final Byte READ = 1;
+    }
 }

+ 22 - 0
fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/system/InputInfoController.java

@@ -32,6 +32,7 @@ import java.security.Principal;
 import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * This class is used for ...
@@ -49,6 +50,8 @@ public class InputInfoController {
     private InpIncomeService inpIncomeService;
     @Autowired
     private ManageServiceImpl manageService;
+    @Autowired
+    private TypeAuthorityService typeAuthorityService;
 
     @GetMapping("/index")
     public ModelAndView sceniclist() {
@@ -92,4 +95,23 @@ public class InputInfoController {
         );
     }
 
+    @PostMapping("/del")
+    @ResponseBody
+    public ReturnResult del(int id) {
+        return ReturnResult.ok(inputInfoService.removeById(id));
+    }
+
+    @PostMapping("/getTypeAuthority")
+    public ReturnResult getTypeAuthority(Principal principal) {
+        String account = principal.getName();
+        Manage manage = manageService.getMangerByAccount(account);
+        List<TypeAuthority> typeAuthorities = typeAuthorityService.list(new LambdaQueryWrapper<TypeAuthority>()
+                .eq(TypeAuthority::getManager, manage.getId())
+                .eq(TypeAuthority::getAuthority, Cons.TYPE_AUTHORITY.ALL));
+        if (typeAuthorities.isEmpty()) {
+            return ReturnResult.ok();
+        }
+        return ReturnResult.ok(typeAuthorities.stream().map(TypeAuthority::getScenic).collect(Collectors.toList()));
+    }
+
 }

+ 38 - 49
fjs-scenic-manager/src/main/resources/templates/system/inputInfo.html

@@ -53,44 +53,29 @@
                     </div>
                     <!--功能按钮区-->
                     <div class="buttonDiv">
-                        <el-button size="mini" type="primary" class="pagination-but" @click="dialog1Visible = true">新增
+                        <el-button size="mini" type="primary" class="pagination-but" @click="addClick">新增
                         </el-button>
                     </div>
                     <!--表格区-->
                     <el-table border :data="tableData" style="width: 100%">
-                        <el-table-column min-width="150px" label="姓名" prop="name">
+                        <el-table-column min-width="150px" label="上报日期" prop="createTime">
                         </el-table-column>
-                        <el-table-column min-width="150px" label="账号" prop="account">
-                        </el-table-column>
-                        <el-table-column min-width="150px" label="电话" prop="phone">
+                        <el-table-column min-width="150px" label="上报人" prop="manager">
                         </el-table-column>
                         <el-table-column min-width="150px" label="公司" prop="company">
                         </el-table-column>
                         <el-table-column min-width="150px" label="景区" prop="scenic">
                         </el-table-column>
-                        <el-table-column min-width="150px" label="状态">
-                            <template slot-scope="scope">
-                                {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column min-width="150px" label="创建时间" prop="createTime">
-                        </el-table-column>
-                        <el-table-column min-width="150px" label="修改时间" prop="updateTime">
+                        <el-table-column min-width="150px" label="数据日期" prop="staticDate">
                         </el-table-column>
                         <el-table-column label="操作" min-width="300px">
                             <template slot-scope="scope">
-                                <el-button size="mini" type="primary" @click="table1Edit(scope.$index, scope.row)">修改
-                                </el-button>
-                                <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
-                                </el-button>
                                 <el-button size="mini" type="primary" @click="authorityClick(scope.$index, scope.row)">
-                                    分配权限
+                                    查看
                                 </el-button>
-                                <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
-                                    @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.无效)">冻结
+                                <el-button size="mini" type="primary" @click="table1Edit(scope.$index, scope.row)">修改
                                 </el-button>
-                                <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
-                                    @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.正常)">解冻
+                                <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
                                 </el-button>
                             </template>
                         </el-table-column>
@@ -115,7 +100,7 @@
                                 placeholder="选择日期">
                             </el-date-picker>
                         <el-collapse v-model="collapse">
-                            <el-collapse-item title="大峡谷景区" name="0">
+                            <el-collapse-item title="大峡谷景区" name="0" v-if="addData[0].show">
                                 <el-form :model="addData[0]" status-icon :label-width="formLabelWidth" inline ref="form0">
                                     <template v-for="(item,i) in addData[0].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -140,7 +125,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="水车坪景区" name="1">
+                            <el-collapse-item title="水车坪景区" name="1" v-if="addData[1].show">
                                 <el-form :model="addData[1]" status-icon :label-width="formLabelWidth" inline ref="form1">
                                     <template v-for="(item,i) in addData[1].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -165,7 +150,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="濯水景区" name="2">
+                            <el-collapse-item title="濯水景区" name="2" v-if="addData[2].show">
                                 <el-form :model="addData[2]" status-icon :label-width="formLabelWidth" inline ref="form2">
                                     <template v-for="(item,i) in addData[2].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -190,7 +175,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="小南海" name="3">
+                            <el-collapse-item title="小南海" name="3"  v-if="addData[3].show">
                                 <el-form :model="addData[3]" status-icon :label-width="formLabelWidth" inline ref="form3">
                                     <el-form-item label="合计收入" prop="total" :rules="commonRule">
                                         <el-input-number 
@@ -209,7 +194,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="十三寨" name="4">
+                            <el-collapse-item title="十三寨" name="4"  v-if="addData[4].show">
                                 <el-form :model="addData[4]" status-icon :label-width="formLabelWidth" inline ref="form4">
                                     <template v-for="(item,i) in addData[4].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -234,7 +219,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="神龟峡景区" name="5">
+                            <el-collapse-item title="神龟峡景区" name="5"  v-if="addData[5].show">
                                 <el-form :model="addData[5]" status-icon :label-width="formLabelWidth" inline ref="form5">
                                     <template v-for="(item,i) in addData[5].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -259,7 +244,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="官村" name="6">
+                            <el-collapse-item title="官村" name="6"  v-if="addData[6].show">
                                 <el-form :model="addData[6]" status-icon :label-width="formLabelWidth" inline ref="form6">
                                     <el-form-item label="合计收入" prop="total" :rules="commonRule">
                                         <el-input-number 
@@ -278,7 +263,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="爱莉丝" name="7">
+                            <el-collapse-item title="爱莉丝" name="7"  v-if="addData[7].show">
                                 <el-form :model="addData[7]" status-icon :label-width="formLabelWidth" inline ref="form7">
                                     <el-form-item label="合计收入" prop="total" :rules="commonRule">
                                         <el-input-number 
@@ -297,7 +282,7 @@
                                     </el-form-item>
                                 </el-form>
                             </el-collapse-item>
-                            <el-collapse-item title="阿蓬江旅行社公司" name="8">
+                            <el-collapse-item title="阿蓬江旅行社公司" name="8" v-if="addData[8].show">
                                 <el-form :model="addData[8]" status-icon :label-width="formLabelWidth" inline ref="form8">
                                     <template v-for="(item,i) in addData[8].income">
                                         <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
@@ -374,7 +359,7 @@
                 return {
                     staticDate:new Date().toJSON().slice(0,10),
                     formLabelWidth:'200px',
-                    collapse: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
+                    collapse: ['0', '1', '2', '3', '4', '5', '6', '7', '8'],
                     companyScenic: undefined,
                     companyScenicOptions: [...COMPANY_SCENIC],
                     con: { dataTime: undefined, companyScenic: undefined, currentPage: 1, pageSize: 10, total: 0, createTime: undefined, },//查询条件
@@ -456,10 +441,17 @@
                 }
             },
             mounted: function () {
-                console.log(1);
                 this.loadTable1();
             },
             methods: {
+                addClick(){
+                    let _this = this;
+                    $.dyAjax('/inputInfo/getTypeAuthority', {}, function (data) {
+                        _this.dialog1Visible = true
+                        _this.addData.forEach((item,i) => item.show = data.includes(i) )
+                        _this.collapse = Array.from(data, item => item+'')
+                    });
+                },
                 countVal(scenic,form,to){
                     return scenic.income.slice(form,to).reduce((acc,cur) => acc+cur.sum,0)
                 },
@@ -507,31 +499,28 @@
                 dialog1Sub: function (formName) {
                     var _this = this;
                     const promises = [];
-                    Array.from(new Array(9),item => null).forEach((el,i)=>{
-                        promises.push(this.$refs['form'+i].validate())
+                    _this.addData.forEach((el,i)=>{
+                        if (el.show){
+                            promises.push(this.$refs['form'+i].validate())
+                        }
                     })
+
                     Promise.allSettled(promises).then((results) => {
                        const fail = results.findIndex(result => result.status==='rejected' )>-1
                         if (!fail) {
                             const datas = Object.assign([],_this.addData)
                             console.log(datas);
                             datas.forEach(el => el.staticDate = this.staticDate)
-                            console.log(datas);
-                            $.dyjAjax('/inputInfo/add', datas, function (data) {
-                                if (data.status === 200) {
-                                    _this.loadTable1(function () {
-                                        _this.$message({
-                                            message: '成功',
-                                            type: 'success'
-                                        });
-                                        _this.dialog1Visible = false;
-                                    });
-                                } else {
+                            const datasFilter = datas.filter(el => el.show)
+                            console.log(datasFilter);
+                            $.dyjAjax('/inputInfo/add', datasFilter, function (data) {
+                                _this.loadTable1(function () {
                                     _this.$message({
-                                        message: data.msg,
-                                        type: 'error'
+                                        type: 'success',
+                                        message: '成功!'
                                     });
-                                }
+                                    _this.dialog1Visible = false;
+                                });
                             });
                         } else {
                             return false;