Переглянути джерело

Merge branch 'dev' of http://10.87.10.227:4000/jzyd_yyds/soc_web into dev

luojun 2 роки тому
батько
коміт
5dd6cee38e

+ 17 - 0
src/api/pageSearch.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+export function post(url,data){
+    return request({
+        url: url,        
+        method: 'post',
+        data: data
+      })
+}
+
+export function get(url,data){
+    return request({
+        url: url,        
+        method: 'get',
+        params: data
+      })
+}

+ 11 - 0
src/api/resumption/rule.js

@@ -51,3 +51,14 @@ export function delelte(id) {
     method: "delete",
   });
 }
+
+/**
+ * 返回登录机构可使用的履职内容库
+ */
+export function ruleListForOrg(query) {
+  return request({
+    url: "/core/resumption/rule/ruleListForOrg",
+    method: "get",
+    params: query,
+  });
+}

+ 15 - 0
src/api/resumption/ruleManager.js

@@ -49,4 +49,19 @@ export function del(id) {
     url: '/core/resumption/ruleItem/' + id,
     method: 'delete'
   })
+}
+
+
+
+/**
+ * 返回履职内容列表
+ * @param {} query 
+ * @returns 
+ */
+export function pointSelectionPage(query){
+  return request({
+    url: '/core/resumption/ruleItem/pointSelectionPage',
+    method: 'get',
+    params: query
+  })
 }

+ 4 - 4
src/components/table/gx.search.table.vue

@@ -13,7 +13,7 @@
          @change="onTabChange"></tab>
 
     <!-- 按钮 -->
-    <el-row v-if="$slots['buttons'] || urlExport"
+    <!-- <el-row v-if="$slots['buttons'] || urlExport"
             class="mb-4 button-container">
       <el-col :span="24">
         <slot name="buttons"></slot>
@@ -21,7 +21,7 @@
                    type="success"
                    @click="onExport">导出数据</el-button>
       </el-col>
-    </el-row>
+    </el-row> -->
 
     <!--  -->
     <el-table ref="$table"
@@ -198,13 +198,13 @@ export default {
   },
   created() {},
   mounted() {
-    if (this.url && !this.manual) {
+    if (this.list && !this.manual) {
       this.load(this.searchData)
     }
   },
 }
 </script>
-<style lang="less">
+<style lang="scss">
 .k-search-table {
   width: calc(100% - 1px);
 

+ 15 - 5
src/components/table/mix.search.js

@@ -1,5 +1,5 @@
 import { debounce } from "lodash";
-
+import * as api from "@/api/pageSearch.js";
 //
 export default {
   data() {
@@ -13,6 +13,10 @@ export default {
   props: {
     //请求地址
     url: {},
+    method: {
+      type: String,
+      default: "post",
+    },
     urlExport: {},
     //请求参数
     searchData: {},
@@ -28,7 +32,7 @@ export default {
     },
     beforeSearchCheck: {
       type: Function,
-      default: function(callback) {
+      default: function (callback) {
         //   console.info("beforeSearchCheck default function")
         return true;
       },
@@ -40,7 +44,7 @@ export default {
     searchData: {
       deep: true,
       handler: debounce(
-        function() {
+        function () {
           this.search();
         },
         300,
@@ -76,7 +80,13 @@ export default {
       params.page = this.pageIndex >= 1 ? this.pageIndex - 1 : this.pageIndex;
       params.size = this.pageSize;
       console.log(params);
-      const data = await this.$api.post(this.url, params);
+
+      let data;
+      if (this.method === "post") {
+        data = await api.post(this.url, params);
+      } else {
+        data = await api.get(this.url, params);
+      }
       // this.selectItemList=[];
       // this.selectItemList=[];
       // this.$emit("select", []);
@@ -87,7 +97,7 @@ export default {
         this.dataList = this.checkSelect(data);
         this.total = data.length;
       } else {
-        this.dataList = this.checkSelect(data.content);
+        this.dataList = this.checkSelect(data.rows);
         this.total = data.totalElements;
       }
       this.$emit("totalCount", this.total);

+ 2 - 2
src/views/core/accessPlan/index.vue

@@ -124,8 +124,8 @@
         </el-select>
       </el-form-item>
         <el-form-item label="调阅频次" prop="planFrequency">
-          <el-input v-model="form.planFrequency" placeholder="请输入调阅频次" />
-        </el-form-item>
+          <el-input type="number" v-model.number="form.planFrequency"  placeholder="请输入调阅频次" />
+        </el-form-item> 
         <el-form-item label="备注" prop="description">
           <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
         </el-form-item>

+ 128 - 0
src/views/resumption/ruleManager/dialog.select.point.vue

@@ -0,0 +1,128 @@
+<template>
+  <el-dialog
+    title="选择检查要点"
+    :visible.sync="isShow"
+    class="g-dialog-select-safe-check"
+    :close-on-click-modal="false"
+    width="55%"
+    top="10vh"
+    append-to-body
+  >
+    <div class="el-dialog-div">
+      <g-search-table
+        ref="st"
+        url="/core/resumption/ruleItem/pointSelectionPage"
+        method="get"
+        :search-data="search"
+        :manual="true"
+        :pageable="true"
+        :select="true"
+        :select-default="selectList"
+        :drag="false"
+        @select="onSelect"
+      >
+        <!-- 搜索 -->
+        <template slot="searchs">
+          <el-form-item prop="ruleId" label="履职内容库">
+            <el-select v-model="search.ruleId">
+              <el-option
+                v-for="item in ruleList"
+                :value="item.id"
+                :key="item.id"
+                :label="item.name"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item prop="key" label="关键字">
+            <el-input v-model="search.key"></el-input>
+          </el-form-item>
+        </template>
+
+        <!-- 表格 -->
+        <template slot="columns">
+          <el-table-column
+            prop="itemName"
+            label="履职项"
+           min-width="40%"
+          ></el-table-column>
+          <el-table-column label="履职内容" prop="pointName" min-width="40%"> </el-table-column>
+          <el-table-column
+            prop="areaName"
+            label="履职区域"
+            min-width="20%"
+          ></el-table-column>
+          <!--          <el-table-column prop="nfcName"
+                           label="采集点"
+                           width="120"></el-table-column>-->
+        </template>
+      </g-search-table>
+    </div>
+
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="onHide">关闭</el-button>
+      <el-button type="primary" @click="onSubmit">确定</el-button>
+    </div>
+  </el-dialog>
+</template>
+<script>
+import GSearchTable from "@/components/table/gx.search.table.vue";
+import { ruleListForOrg } from "@/api/resumption/rule.js";
+export default {
+  components: { GSearchTable },
+  data() {
+    return {
+      isShow: false,
+      selectList: [],
+      ruleList: [],
+      search: this.emptySearch(),
+    };
+  },
+  computed: {},
+  watch: {},
+  props: {
+    defaultSelect:{
+      type:Array
+    },
+    orgType:{
+      type:String
+    }
+  },
+  methods: {
+    show() {
+      this.search = this.emptySearch();
+      this.isShow = true;
+      this.selectList =this.defaultSelect; 
+      ruleListForOrg({ orgType: this.orgType }).then((r) => {
+        this.ruleList = r.data;
+        if (r.data && r.data.length > 0) {
+          this.search.ruleId = r.data[0].id;
+          // this.$refs.st.search();
+        }
+      });
+    },
+    onHide() {
+      this.isShow = false;
+    },
+    onSelect(item) {      
+      this.selectList = item;
+    },
+    onSubmit() {
+      let s=this.selectList
+      this.$emit("select", this.selectList);
+      this.onHide();
+    },
+    emptySearch() {
+      return {
+        ruleId: null,
+        itemName: null,
+      };
+    },
+  },
+  mounted() {},
+};
+</script>
+<style lang="scss" scoped>
+.el-dialog-div {
+  overflow: auto;
+}
+</style>

+ 7 - 0
src/views/resumption/ruleManager/index.vue

@@ -72,6 +72,10 @@
               @click="onAddItem()"
               :disabled="rule ? false : true"
               >新 增</el-button
+            ><el-button
+              type="primary"
+              @click="onSelect()"
+              >选择</el-button
             >
             <el-button
               type="warning"
@@ -349,6 +353,9 @@ export default {
     onEditItem(itemId) {
       this.$refs.dialogEdit.show(itemId);
     },
+    onSelect(){
+      this.$refs.DialogSelect.show();
+    },
     onSuccess(){
       this.refresh();
     }

+ 30 - 1
src/views/system/role/index.vue

@@ -55,6 +55,23 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="角色编号" prop="roleSort" width="120" />
       <el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
+     
+
+
+
+
+
+      <el-table-column label="机构类型" align="center" key="orgType" prop="orgType" width="150">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_org_type" :value="scope.row.orgType" />
+            </template>
+          </el-table-column>
+
+
+
+
+
+
       <el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
       <el-table-column label="显示顺序" prop="roleSort" width="100" />
       <el-table-column label="状态" align="center" width="100">
@@ -98,6 +115,18 @@
         <el-form-item label="角色名称" prop="roleName">
           <el-input v-model="form.roleName" placeholder="请输入角色名称" />
         </el-form-item>
+
+        <el-form-item label="机构类型" prop="orgType">
+              <el-select v-model="form.orgType" placeholder="请选择机构类型">
+                <el-option
+                  v-for="dict in dict.type.sys_org_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="`${dict.value}`"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+
         <el-form-item prop="roleKey">
           <span slot="label">
             <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top">
@@ -177,7 +206,7 @@ import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/m
 
 export default {
   name: "Role",
-  dicts: ['sys_normal_disable'],
+  dicts: ['sys_normal_disable','sys_org_type'],
   data() {
     return {
       // 遮罩层