Selaa lähdekoodia

Merge branch 'oapush' into 'test-new'

大日历

See merge request spfm-group/spfm-market-front!43
宁磊 3 vuotta sitten
vanhempi
commit
74887a67a9

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 193 - 639
package-lock.json


+ 3 - 0
package.json

@@ -9,6 +9,9 @@
     "analyz": "vue-cli-service build"
   },
   "dependencies": {
+    "@fullcalendar/daygrid": "^5.10.1",
+    "@fullcalendar/interaction": "^5.10.1",
+    "@fullcalendar/vue": "^5.10.1",
     "@tinymce/tinymce-vue": "^3.0.1",
     "axios": "^0.19.0",
     "canvg": "^3.0.7",

+ 44 - 0
src/assets/calendar.scss

@@ -0,0 +1,44 @@
+@charset "UTF-8";
+.calendar-box {
+  height: 710px;
+  overflow-y: scroll;
+}
+.tag-tip{
+  text-align: right;
+  margin-bottom: 20px;
+}
+//左侧会议室列表
+.room-content{
+  box-shadow: 0 0 5px #999;
+  padding-top: 15px;
+  text-align: center;
+  .room-title{
+    font-size: 16px;
+    font-weight: bold;
+    border-bottom: 2px solid #3AA1FF;
+    padding-bottom: 15px;
+  }
+  .room-list{
+    height: 40px;
+    line-height: 40px;
+    border-bottom: 1px solid #eee;
+    font-size: 14px;
+    cursor: pointer;
+    position: relative;
+    i{
+      position: absolute;
+      top: 14px;
+      right: 15px;
+    }
+  }
+  .room-list:last-child{
+    border: none;
+  }
+}
+.active-list, .room-list:hover{
+  background-color: #3AA1FF;
+  color: #fff
+}
+.line{
+  text-align: center;
+}

+ 11 - 2
src/components/deptTreeUser.vue

@@ -1,8 +1,9 @@
 <template>
     <div class="treebox" v-loading="loading">
+        <el-input placeholder="输入关键字进行过滤" v-model="filterText"></el-input>
         <el-tree :highlight-current="true" :check-strictly="true" ref="tree" @check-change="handleCheckChange"
             :data="treeList" node-key="id" :default-checked-keys="defaultListc" :default-expanded-keys="defaultListc"
-            @node-click="handleNodeClick">
+            @node-click="handleNodeClick" :filter-node-method="filterNode">
             <span class="custom-tree-node" slot-scope="{ node, data }" @click="cs(node)">
                 <em style="display: inline-block;width: 20px;" v-if="node.data.haveUserFlag == 'N'&& node.data.children.length == 0"></em>
                 <i class="el-icon-caret-right" v-if="node.data.haveUserFlag == 'Y' && node.data.children.length == 0"></i>
@@ -25,10 +26,15 @@
                     label: "label",
                 },
                 defaultListc: [],
-                loading:false
+                loading:false,
+                filterText: '',
             };
         },
         methods: {
+            filterNode(value, data) {
+                if (!value) return true;
+                return data.label.indexOf(value) !== -1;
+            },
             cs(v){
                 // console.log(v)
             },
@@ -115,6 +121,9 @@
             this.defaultListc = this.defaultList;
         },
         watch: {
+            filterText(val) {
+                this.$refs.tree.filter(val);
+            },
             type() {
                 this.defaultListc = this.defaultList;
                 this.$forceUpdate();

+ 11 - 4
src/components/deptTreeUserNew.vue

@@ -1,8 +1,9 @@
 <template>
     <div class="treebox" v-loading="loading">
+        <el-input placeholder="输入关键字进行过滤" v-model="filterText"></el-input>
         <el-tree :highlight-current="true" :check-strictly="true" ref="tree" @check-change="handleCheckChange"
             :data="treeList" node-key="id" :default-checked-keys="defaultListc" :default-expanded-keys="defaultListc"
-            @node-click="handleNodeClick">
+            @node-click="handleNodeClick" :filter-node-method="filterNode">
             <span class="custom-tree-node" slot-scope="{ node, data }" @click="cs(node)">
                 <em style="display: inline-block;width: 20px;" v-if="node.data.haveUserFlag == 'N'&& node.data.children.length == 0"></em>
                 <i class="el-icon-caret-right" v-if="node.data.haveUserFlag == 'Y' && node.data.children.length == 0"></i>
@@ -12,7 +13,6 @@
         </el-tree>
     </div>
 </template>
-
 <script>
     export default {
         props: ["defaultList", "type", "closeList","fillLists"],
@@ -25,11 +25,15 @@
                     label: "label",
                 },
                 defaultListc: [],
-                loading:false
+                loading:false,
+                filterText: '',
             };
         },
         methods: {
-            
+            filterNode(value, data) {
+                if (!value) return true;
+                return data.label.indexOf(value) !== -1;
+            },
             cs(v){
                 // console.log(v)
                 
@@ -130,6 +134,9 @@
             this.defaultListc = this.defaultList;
         },
         watch: {
+            filterText(val) {
+                this.$refs.tree.filter(val);
+            },
             type() {
                 this.defaultListc = this.defaultList;
                 this.$forceUpdate();

+ 1 - 1
src/components/p-header.vue

@@ -111,7 +111,7 @@ export default {
               window.sessionStorage.userInfo = undefined;
               window.sessionStorage.childrenMenus = undefined;
               window.opener=null;
-              window.open('','_self');
+              window.open(' ','_self');
               window.close();
               // window.parent.close();
             //返回到登录页面

+ 1 - 1
src/pages/main/achievements/recallJt.vue

@@ -11,7 +11,7 @@
 			</div>
 			<el-tabs tab-position="top" v-model="activeName" @tab-click="handleClick">
 				<el-tab-pane name="0" label="KPI"></el-tab-pane>
-				<el-tab-pane name="1" label="GS"></el-tab-pane>
+<!--				<el-tab-pane name="1" label="GS"></el-tab-pane>-->
 			</el-tabs>
 			<div style="height: 100%">
 				<div style="overflow: none">

+ 9 - 1
src/pages/main/demandDevelop/index.vue

@@ -670,10 +670,18 @@ export default {
               this.type = "0";
               console.log("送部门人员审核");
               break;
+            // case "送领导审核":
+            //   this.operateName = "送领导审核";
+            //   this.type = "1";
+            //   this.checkLaeder = true;
+            //   console.log("送领导审核");
+            //   break;
+            //领导审批支持整个OA组织架构
             case "送领导审核":
               this.operateName = "送领导审核";
               this.type = "1";
-              this.checkLaeder = true;
+              // this.checkLaeder = true;
+              this.checkexa = true;
               console.log("送领导审核");
               break;
             case "送起草人编号发送":

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1088 - 1088
src/pages/main/file/flieList.vue


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1165 - 0
src/pages/main/file/flieListNet.vue


+ 478 - 0
src/pages/main/fullcalendar/calendar.vue

@@ -0,0 +1,478 @@
+<template>
+    <basic-block title="日历">
+        <!--
+        <div class="tag-tip">
+          <el-tag size="small" color="#f08f00">审核中</el-tag>
+          <el-tag size="small" color="#6bb377">已审核</el-tag>
+          <el-tag size="small" color="#999">已结算</el-tag>
+        </div>
+        -->
+        <el-row type="flex" justify="space-between">
+            <!--
+            <el-col :span="4">
+              <div class="room-content">
+                <div class="room-title">会议室列表</div>
+                <div class="room-list" :class="{'active-list': index === activeNum}"
+                     v-for="(item, index) in meetingRoomList" :key="index" @click="chooseRoom(index)">
+                  <span>{{ item.name }}</span>
+                </div>
+              </div>
+            </el-col>
+            -->
+            <el-col :span="19">
+                <div class="calendar-box">
+                    <full-calendar
+                        ref="fullCalendar"
+                        style="height: 100%"
+                        :options="calendarOptions"
+                    >
+                    </full-calendar>
+                </div>
+            </el-col>
+        </el-row>
+        <!--日程新增弹窗start-->
+        <el-dialog
+            title="会议新增"
+            :visible.sync="dialogVisible"
+            :before-close="close"
+            :modal="false"
+            width="45%">
+            <el-form :model="form" :rules="rules" ref="form" label-width="120px" size="small" class="demo-ruleForm" :disabled="auth? false: 'disabled'">
+                <el-form-item label="会议名称" prop="title">
+                    <el-input v-model="form.title"></el-input>
+                </el-form-item>
+                <el-form-item label="参会角色" prop="roleName">
+                    <el-select v-model="form.roleName" clearable filterable placeholder="参会角色">
+                        <el-option
+                            v-for="item in roleNameList"
+                            :key="item.userId"
+                            :label="item.name"
+                            :value="item.userId">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="是否是党会" prop="isParty">
+                    <el-select v-model="form.isParty" clearable filterable placeholder="是否是党会">
+                        <el-option
+                            v-for="item in isParrty"
+                            :key="item.is_party"
+                            :label="item.name"
+                            :value="item.is_party">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="发起科室" prop="leaderName">
+                    <el-input v-model="form.leaderName"></el-input>
+                </el-form-item>
+                <el-form-item label="会议开始时间" required>
+                    <el-col :span="11">
+                        <el-form-item prop="begindate" style="margin-bottom: 0">
+                            <el-date-picker type="date"
+                                            format="yyyy-MM-dd"
+                                            value-format="yyyy-MM-dd"
+                                            placeholder="选择日期"
+                                            v-model="form.begindate"
+                                            style="width: 100%;" >
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col class="line" :span="2">-</el-col>
+                    <el-col :span="11">
+                        <el-form-item prop="startTime" style="margin-bottom: 0">
+                            <el-time-select placeholder="选择时间"
+                                            v-model="form.startTime"
+                                            :picker-options="{
+                                start: '00:00',
+                                step: '00:30',
+                                end: '23:30 ',
+                              }"
+                                            @change="onStartTime"
+                                            style="width: 100%;">
+                            </el-time-select>
+                        </el-form-item>
+                    </el-col>
+                </el-form-item>
+                <el-form-item label="会议结束时间" required>
+                    <el-col :span="11">
+                        <el-form-item prop="enddate" style="margin-bottom: 0">
+                            <el-date-picker type="date"
+                                            format="yyyy-MM-dd"
+                                            value-format="yyyy-MM-dd"
+                                            placeholder="选择日期"
+                                            v-model="form.enddate"
+                                            style="width: 100%;">
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col class="line" :span="2">-</el-col>
+                    <el-col :span="11">
+                        <el-form-item prop="endTime" style="margin-bottom: 0">
+                            <el-time-select placeholder="选择时间"
+                                            v-model="form.endTime"
+                                            :picker-options="{
+                                start: '00:00',
+                                step: '00:30',
+                                end: '23:30 ',
+                                minTime: form.startTime
+                              }"
+                                            style="width: 100%;">
+                            </el-time-select>
+                        </el-form-item>
+                    </el-col>
+                </el-form-item>
+                <el-form-item label="会议备注" prop="remark">
+                    <el-input type="textarea" v-model="form.remark"></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button @click="resetForm('form')">取消</el-button>
+                    <el-button type="primary" @click="submitForm('form')">提交</el-button>
+                </el-form-item>
+            </el-form>
+        </el-dialog>
+        <!--日程新增弹窗end-->
+    </basic-block>
+</template>
+
+<script>
+    import _ from 'lodash' //导入loadsh插件
+    // 引入日历组件
+    import FullCalendar from "@fullcalendar/vue";
+    import dayGridPlugin from "@fullcalendar/daygrid";
+    import interactionPlugin from "@fullcalendar/interaction";
+    // 引入js数据
+    // import array from '@/utils/home'
+
+    export default {
+        name: 'Home',
+        components: {
+            FullCalendar, // make the <FullCalendar> tag available
+        },
+        data() {
+            return {
+                activeNum: 0,
+                dialogVisible: false,
+                // meetingRoomList: [],
+                subList: [],
+                array: [],
+                auth: false,
+                roleNameList: [
+                    {
+                        userId: 1,
+                        name: '分管公司领导/部门负责人'
+                    }, {
+                        userId: 2,
+                        name: '部门负责人'
+                    }, {
+                        userId: 3,
+                        name: '部门分管线条领导/科室主任'
+                    }
+                ],
+                isParrty: [
+                    {
+                        is_party: '1',
+                        name: '是'
+                    },
+                    {
+                        is_party: '0',
+                        name: '否'
+                    },
+
+                ],
+                form: {
+                    title: '',
+                    userId: '',
+                    begindate: '',
+                    startTime: '',
+                    enddate: '',
+                    endTime: '',
+                    remark: '',
+                    leaderName: '',
+                    roleId: '',
+                    roleColor: '',
+                    id: '',
+                    isParty: '否',
+                    roleName: '分管公司领导/部门负责人'
+                },
+                rules: {
+                    title: [{required: true, message: '请输入会议主题', trigger: 'blur'}],
+                    userid:[{required: true, message: '请选择会议室使用人', trigger: 'change'}],
+                    begindate:[{required: true, message: '请选择开始日期', trigger: 'change'}],
+                    startTime:[{required: true, message: '请选择开始时间', trigger: 'change'}],
+                    enddate:[{required: true, message: '请选择结束日期', trigger: 'change'}],
+                    endTime:[{required: true, message: '请选择结束时间', trigger: 'change'}],
+                    remark:[{required: true, message: '请填写会议备注', trigger: 'blur'}],
+                    leaderName:[{required: true, message: '发起科室', trigger: 'blur'}],
+                    isParty:[{required: true, message: '是否是党会', trigger: 'change'}],
+                    roleName:[{required: true, message: '参会角色', trigger: 'change'}]
+        },
+            calendarOptions: {
+                //   timeGridPlugin  可显示每日时间段
+                height: 700,
+                    plugins: [dayGridPlugin, interactionPlugin],
+                    headerToolbar: {
+                    left: "prev,next today",
+                    center: "title",
+                    right: "dayGridMonth,dayGridWeek,dayGrid",
+                    // right: 'agendaWeek,dayGridWeek,dayGrid'
+                },
+                buttonText: {
+                    // 设置按钮
+                    today: "今天",
+                        month: "月",
+                        week: "周",
+                        dayGrid: "天",
+                },
+                // allDaySlot: false,
+                editable: false,
+                    selectable: true,
+                    navLinks: true,
+                    // displayEventEnd: true,//所有视图显示结束时间
+                    initialView: "dayGridMonth", // 设置默认显示月,可选周、日
+                    dateClick: this.handleDateClick,
+                    eventClick: this.handleEventClick,
+                    eventsSet: this.handleEvents,
+                    select: this.handleDateSelect,
+                    // timezone
+                    // 设置日程
+                    events: [
+                    // {
+                    // 	id: 1,
+                    // 	title: '09:30~11:30 小破孩',
+                    // 	start: '2020-12-11',
+                    // 	end: '2020-12-13',
+                    // 	color: '#f08f00',
+                    // },
+                    // {
+                    // 	id: 2,
+                    // 	title: '9:30~14:30 项目会议',
+                    // 	start: '2020-12-14',
+                    // 	end: '2020-12-14',
+                    // 	color: '#6bb377',
+                    // },
+                ],
+                    eventColor: "", // 修改日程背景色
+                    locale: "zh-cn", // 设置语言
+                    weekNumberCalculation: "ISO", // 周数
+                    customButtons: {
+                    prev: { // this overrides the prev button
+                        text: "PREV",
+                            click: () => {
+                            this.prev();
+                        }
+                    },
+                    next: { // this overrides the next button
+                        text: "PREV",
+                            click: () => {
+                            this.next();
+                        }
+                    },
+                    today: {
+                        text: "今天",
+                            click: () => {
+                            this.today();
+                        }
+                    }
+                }
+            },
+        }
+        },
+        mounted() {
+            // 获取用户信息
+            this.calendarApi = this.$refs.fullCalendar.getApi();
+
+            // this.meetingRoomList = this.array.meetingRoomList;
+            // console.log('this.array', this.array)
+            // this.getReservationList(this.array.scheduleList0);
+            this.queryRole();
+            this.getList();
+        },
+        methods: {
+            // 获取会议信息
+            getList() {
+                this.$http({
+                    url: "/market/calendar/queryList",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: {isFile: "0"},
+                }).then((res) => {
+                    console.log('res', res)
+                    if (res.data && res.data.length > 0) {
+                        this.array = res.data;
+                        // this.getReservationList(this.array.scheduleList0);
+                        this.getReservationList(this.array);
+                    }
+                });
+            },
+            // 获取会议信息
+            queryRole() {
+                this.$http({
+                    url: "/market/calendar/queryRole",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: {isFile: "0"},
+                }).then((res) => {
+                    console.log('res====', typeof res.data)
+                    console.log(res.data)
+                    this.auth = res.data;
+                    console.log("res.data",res.data)
+
+                });
+            },
+            getReservationList(arrayData) {
+                let newArr = [];
+                this.subList = arrayData;
+                arrayData.forEach((item) => {
+                    console.log('item', item)
+                    newArr.push({
+                        start: this.dealWithTime(item.begindate),
+                        end: this.addDate(this.dealWithTime(item.enddate), 1),
+                        color: item.roleColor,
+                        id: item.id,
+                        title: `${this.getTitle(item.begindate, item.enddate)}   ${item.title}    ${item.leaderName}`,
+                    })
+                });
+                this.calendarOptions.events = newArr;
+                console.log(newArr)
+            },
+            // 切换教室
+            chooseRoom(index) {
+                this.activeNum = index;
+                // 查询该会议室下面的会议事件
+                if (index === 0) {
+                    this.getReservationList(this.array.scheduleList0);
+                } else if (index === 1) {
+                    this.getReservationList(this.array.scheduleList1);
+                }
+            },
+            // 日期加1天
+            addDate(date, days) {
+                var d = new Date(date);
+                d.setDate(d.getDate() + days);
+                var mon = (d.getMonth() + 1) < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
+                let endD = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
+                return `${d.getFullYear()}-${mon}-${endD}`;
+            },
+            // 获取会议事件title
+            getTitle(date1, date2) {
+                let start = date1.substring(11, 16);
+                let end = date2.substring(11, 16);
+                return `${start}~${end}`;
+            },
+            getShowTime(beginDate, endDate) {
+                this.form.begindate = this.dealWithTime(beginDate);
+                this.form.startTime = this.getHoursMin(beginDate);
+                this.form.enddate = this.dealWithTime(endDate);
+                this.form.endTime = this.getHoursMin(endDate);
+                // this.$forceUpdate()
+                this.form = {...this.form}
+            },
+            // 获取时分时间
+            getHoursMin(value) {
+                return value.substring(11, 16);
+            },
+            // 处理会议时间格式
+            dealWithTime(date) {
+                let newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(date)[0];
+                return newDate;
+            },
+            // 点击日历
+            handleDateClick: function (arg) {
+                if (!this.auth) {
+                    return;
+                }
+                this.$forceUpdate();
+                console.log(arg, '事件1')
+                this.dialogVisible = true;
+            },
+            // 日历日程点击事件
+            handleEventClick(calEvent) {
+                console.log(calEvent, '事件2');
+                this.dialogVisible = true;
+                let id = calEvent.event.id;
+                let info = this.subList.filter((item) => {
+                    return item.id == id
+                });
+                this.$nextTick(() => {
+                    this.form = _.cloneDeep(info[0]);
+                    // 处理时间回显
+                    this.getShowTime(this.form.begindate, this.form.enddate);
+                    console.log(info[0], '数据')
+                });
+            },
+            handleEvents(events) {
+                console.log(events, '事件3');
+            },
+            handleDateSelect(selectInfo) {
+                console.log(selectInfo, '限制');
+            },
+            // 切换上一个按钮
+            prev() {
+                this.calendarApi.prev();
+            },
+            // 切换下一个按钮事件
+            next() {
+                this.calendarApi.next();
+            },
+            // 点击今天按钮
+            today() {
+                this.calendarApi.today();
+            },
+            // 提交数据
+            submitForm(formName) {
+                this.$refs[formName].validate((valid) => {
+                    if (valid) {
+                        this.form.begindate = `${this.form.begindate} ${this.form.startTime}`;
+                        this.form.enddate = `${this.form.enddate} ${this.form.endTime}`;
+                        console.log(this.form, '数据');
+                        this.dialogVisible = false;
+                        this.$http({
+                            url: this.form.id === '' ? '/market/calendar/add' : '/market/calendar/update',
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.form,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                this.$message({
+                                    message: res.data.desc,
+                                    type: "error",
+                                });
+                            } else {
+                                this.$message({
+                                    message: "成功",
+                                    type: "success",
+                                });
+                                location.reload();
+                            }
+                        });
+                    } else {
+                        console.log('error submit!!');
+                        return false;
+                    }
+                });
+            },
+            resetForm(formName) {
+                this.dialogVisible = false;
+                this.$refs[formName].resetFields();
+            },
+            //关闭弹窗,重置表单
+            close() {
+                this.dialogVisible = false;
+                this.$refs['form'].resetFields();
+            },
+            onStartTime(val) {
+                console.log('val', val)
+                this.form.startTime = val
+            }
+        }
+    }
+</script>
+<style lang="scss" scoped>
+    @import "src/assets/calendar";
+</style>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1076 - 0
src/pages/main/meetingDeclaration/marketDecisionMeeting.vue


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1077 - 0
src/pages/main/meetingDeclaration/specialReport.vue


+ 39 - 6
src/pages/main/memberFamily/dataStatistics.vue

@@ -76,17 +76,21 @@
 				lastUpdateTime: '',
                 sts:1,
                 companyFlag:'',
+				// excelCityparam: ""
+				memberFamilyBtnShow: "-1"
 			}
 		},
 		methods: {
             outexl(){
                 let url = '';
                 let paramsf = {};
+				if(window.sessionStorage.excelCityparam){
+					paramsf.regionName = window.sessionStorage.excelCityparam
+				}
                 if(this.sts == 1){
                     url = '/market/cMemberWo/excelExportSummaryByProv';
                 }else{
                     url = '/market/cMemberWo/excelExportSummaryByArea';
-                    // paramsf.regionName =
                 }
                 this.$http({
                     url: url,
@@ -118,8 +122,30 @@
                 });
             },
 			choseperson(v){
-                console.log(v)
+				if(v.showButton){
+					window.sessionStorage.memberFamilyBtnShow = v.showButton;
+				}
                 if(this.companyFlag == 0){
+					if(v.regionName == "省公司"){
+						 this.$router.push({
+                        	path: "/employeeInfo",
+                            query:{
+                                regionName:v.regionName
+                            }
+                        });
+                        this.setabList("员工信息", "/employeeInfo?regionName="+v.regionName);
+						return
+					}
+					// if(v.areaName == "省公司"){
+					// 	this.$router.push({
+                    //     	path: "/employeeInfo",
+                    //         query:{
+                    //             regionName:v.areaName
+                    //         }
+                    //     });
+                    //     this.setabList("员工信息", "/employeeInfo?regionName="+v.areaName);
+					// 	return
+					// }
                     if(this.sts == 2){
                         this.$router.push({
                         	path: "/employeeInfo",
@@ -130,6 +156,7 @@
                         this.setabList("员工信息", "/employeeInfo?regionName="+v.areaName);
                         return
                     }
+					window.sessionStorage.excelCityparam = v.regionName;
                     this.$http({
                     	url: "/market/cMemberWo/querySummaryByAreaPage",
                     	method: "post",
@@ -144,14 +171,16 @@
                     	this.loading = false;
                         this.sts = 2;
                     });
+					
                 }else{
                     this.$router.push({
-                    	path: "/employeeInfo?regionName="+v.regionName,
+                    	path: "/employeeInfo?regionName="+v.areaName,
                         query:{
-                            regionName:v.regionName
+                            regionName:v.areaName
                         }
                     });
-                    this.setabList("员工信息", "/employeeInfo?regionName="+v.regionName);
+					
+                    this.setabList("员工信息", "/employeeInfo?regionName="+v.areaName);
                 }
 			},
 			setabList(n, p) {
@@ -172,7 +201,7 @@
 				this.$store.commit("setTabList", Array.from(set));
 			},
 			handleSelectionChange(val) {
-				console.log(val)
+				console.log(val) 
 			},
 			//搜索数据
 			searchInfo(v) {
@@ -192,6 +221,8 @@
                 }else if(this.companyFlag == 1){
                     url="/market/cMemberWo/querySummaryByAreaPage"
                     v.regionName = this.userInfo.cityName
+					window.sessionStorage.excelCityparam = this.userInfo.cityName;
+					this.sts = 2
                 }
 				this.$http({
 					url: url,
@@ -205,6 +236,7 @@
 					this.tableData = res.data.data;
 					this.total = res.data.totalRecord;
 					this.loading = false;
+					
 				});
 			},
 			// 分页
@@ -268,6 +300,7 @@
 		},
 		mounted() {
 			this.getUser();
+			window.sessionStorage.memberFamilyBtnShow = this.memberFamilyBtnShow
 		},
 		created() {
 

+ 14 - 4
src/pages/main/memberFamily/employeeInfo.vue

@@ -100,7 +100,7 @@
                 searchList: [
                     {
                         type: 'input',
-                        tit: '供应商名称',
+                        tit: '人员名称',
                         value: '',
                         width: '98%',
                     }
@@ -121,12 +121,19 @@
                 delid: '',
                 loading:false,
                 loadinged:false,
+                memberFamilyBtnShow: "",
             }
         },
         methods: {
             outexl(){
                 let url = '/market/cMemberWo/excelExportDetailSummary';
-                let paramsf = {areaName:this.$route.query.regionName};
+                let paramsf = {};
+                
+                if(this.memberFamilyBtnShow && (this.memberFamilyBtnShow == "1")){
+                    paramsf.areaName = this.$route.query.regionName
+                }else{
+                    paramsf.regionName = this.$route.query.regionName
+                }
                 this.$http({
                     url: url,
                     method: "post",
@@ -198,8 +205,10 @@
                 let _this = this;
                 this.loading = true;
                 this.tableData = [];
-                v.areaName = this.$route.query.regionName
-                v.isShow = 0
+                v.areaName = this.$route.query.regionName;
+                v.isShow = 0;
+                var memberFamilyBtnShow = JSON.parse(window.sessionStorage.memberFamilyBtnShow)
+                v.showButton = memberFamilyBtnShow
                 this.$http({
                     url: "/market/cMemberWo/queryMkMemberFillDetailSummaryPage",
                     method: "post",
@@ -342,6 +351,7 @@
         mounted() {
             this.getList({}, 1);
             this.getUser();
+            this.memberFamilyBtnShow = JSON.parse(window.sessionStorage.memberFamilyBtnShow)
         },
         created() {
 

+ 51 - 2
src/pages/main/memberFamily/haveInHand.vue

@@ -107,8 +107,10 @@
         </el-dialog>
 
         <el-dialog title="选择负责人" :visible.sync="dialogStatusp" width="50%" :destroy-on-close="true"
-            :modal-append-to-body="false" :close-on-click-modal="false">
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closeDutydia">
+            <el-input placeholder="输入关键字进行过滤" v-model="filterText" @input="dutyNameSearch"></el-input>
             <el-form :model="infolist" ref="infolist" style="height: 50vh;overflow-y: scroll;">
+                
                 <div class="treeUserp">
 					<p v-for="(item,index) in treeListponly" :key="index" @click="chofz(item)" v-if="item.loginNameStr">
 					    {{item.groupName}} -
@@ -187,7 +189,9 @@
                 companyFlag: '',
                 dialogStatusp: false,
                 choone: {},
-                fillLists:[]
+                fillLists:[],
+                filterText: '',
+                filterData: []
             }
         },
         methods: {
@@ -292,6 +296,7 @@
             },
             chofz(v) {
                 this.dialogStatusp = false;
+                this.filterText = "";
                 for (let i = 0; i < this.treeListp.length; i++) {
                     if (this.treeListp[i].o == this.fadept.o) {
                         this.treeListp[i].loginNameStr = v.loginNameStr;
@@ -337,6 +342,8 @@
                        }).then((ress) => {
                           this.treeListponly.push({bumen:item.ou})
                           this.treeListponly=this.treeListponly.concat(ress.data);
+
+                          this.filterData = this.treeListponly;
                        });
                    })
                 });
@@ -403,6 +410,11 @@
             closedia() {
                 this.infolist = {};
                 this.dialogStatus = false;
+                
+            },
+            closeDutydia(){
+                this.dialogStatusp = false;
+                this.filterText = "";
             },
             //搜索数据
             searchInfo(v) {
@@ -622,6 +634,43 @@
                     this.companyFlag = res.data.companyFlag;
                     this.getList({}, 1);
                 });
+            },
+            dutyNameSearch() {
+
+                if(this.filterText == "" || this.filterText == null){
+                    this.treeListponly = this.filterData;
+                    return;
+                }
+                
+                this.treeListponly.forEach((item)=>{
+                        if(item.groupName !== undefined){
+                            if(item.groupName.indexOf(this.filterText) !== -1){
+                            this.treeListponly = this.treeListponly.filter(m=>{
+                                if(m.groupName)
+                                return m.groupName.indexOf(this.filterText)!=-1;
+                                else
+                                {
+                                    return false;
+                                }
+                            })
+                            }
+                        }
+                        if(item.loginNameStr !== undefined){
+                             
+                            if(item.loginNameStr.indexOf(this.filterText) !== -1){
+                                this.treeListponly = this.treeListponly.filter(n=>{
+                                    if(n.loginNameStr)
+                                return n.loginNameStr.indexOf(this.filterText)!=-1;
+                                else
+                                {
+                                    return false;
+                                }
+                                })
+                            }
+                        }
+                    
+                })
+
             }
         },
         mounted() {

+ 18 - 8
src/pages/main/memberFamily/speedOfProgress.vue

@@ -28,15 +28,21 @@
 					</el-table-column>
                     <el-table-column label="操作" width="160px" align="center">
                         <template slot-scope="scope">
-                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)" v-if="!scope.row.areaDutyNme">查看</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row,1)" v-if="!scope.row.areaDutyNme">查看</el-button>
                             <el-button size="mini" type="danger">催办</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
-                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
-                    :total="total">
+                <el-pagination
+                    class="pageBox"
+                    @current-change="currchange"
+                    layout="prev, pager, next"
+                    background
+                    :total="total"
+                >
                 </el-pagination>
             </div>
+            
         </div>
     </fullscreen>
 
@@ -80,6 +86,7 @@
                 loading:false,
                 loadinged:false,
                 companyFlag:'',
+                secParams:{}
             }
         },
         methods: {
@@ -133,29 +140,32 @@
                     data: v,
                 }).then((res) => {
                     this.tableData = res.data;
-                    this.total = res.data.totalRecord;
+                    // this.total = res.data.totalRecord;
                     this.loading = false;
-                });
+                })
             },
             // 分页
             currchange(v) {
                 this.pageSize = v;
-                this.getList(this.params, this.pageSize);
+                // this.getList(this.params, this.pageSize);
+                this.dialogCheck(2, this.secParams, this.pageSize);
             },
             //申请
-            dialogCheck(v, n) {
+            dialogCheck(v, n, page) {
+                
                 this.$http({
                     url: '/market/cMemberWo/queryProgressByAreaPage',
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",
-                        "page": '{"pageNo":"' + 1 + '","pageSize":"10"}'
+                        "page": '{"pageNo":"' + page + '","pageSize":"10"}'
                     },
                     data: {regionName:n.regionName},
                 }).then((res) => {
                     this.tableData = res.data.data;
                     this.total = res.data.totalRecord;
                 });
+                this.secParams = n
             },
             //添加
             dialogCli(v) {

+ 31 - 0
src/router/index.js

@@ -1099,6 +1099,18 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/file/flieList'], resolve)
           },
         {
+            meta: { name: '文件共享', keepAlive: true },
+            path: '/fileListNet',
+            name: 'fileListNet',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/file/flieListNet'], resolve)
+        },
+        {
+        meta: { name: '日历', keepAlive: true },
+        path: '/calendar',
+        name: 'calendar',
+        component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/fullcalendar/calendar'], resolve)
+        },
+        {
             meta: { name:  '公告', keepAlive: false },
             path: '/noticec',
             name: 'noticec',
@@ -1700,6 +1712,25 @@ const routes = [{
             name: 'approvalExamination',
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/gridDivision/approvalExamination.vue'], resolve)
         },
+        {
+            meta: {
+                name: '专题汇报',
+                keepAlive: false
+            },
+            path: '/specialReport',
+            name: 'specialReport',
+            component: (resolve) => require( /* webpackChunkName: "system" */ ['../pages/main/meetingDeclaration/specialReport'], resolve)
+        },
+        {
+            meta: {
+                name: '市场决策会',
+                keepAlive: false
+            },
+            path: '/marketDecisionMeeting',
+            name: 'marketDecisionMeeting',
+            component: (resolve) => require( /* webpackChunkName: "system" */ ['../pages/main/meetingDeclaration/marketDecisionMeeting'], resolve)
+        },
+
     ]
 },
 {

+ 23 - 0
src/utils/home.js

@@ -0,0 +1,23 @@
+// 会议室列表数据
+let meetingRoomList = [
+    {id:0,name:'会议室1'},{id:0,name:'会议室2'},{id:0,name:'会议室3'}
+];
+// 会议室1日程安排
+let scheduleList0 = [
+    {id: 1, title: '小破孩', userId: 3, beginDate: '2021-07-11 09:30', endDate: '2021-07-11 11:30', remark: '备注内容', status: '#f08f00'},
+    {id: 2, title: '项目会议', userId: 2, beginDate: '2021-07-11 13:30', endDate: '2021-07-11 14:30', remark: '备注内容', status: '#6bb377'},
+    {id: 3, title: '供应商接待', userId: 3, beginDate: '2021-09-18 10:00', endDate: '2021-09-18 12:30', remark: '备注内容', status: '#6bb377'},
+    {id: 4, title: '部门周会', userId: 2, beginDate: '2021-10-18 13:30', endDate: '2021-10-19 15:30', remark: '备注内容', status: '#999'},
+    {id: 5, title: '项目分析会', userId: 1, beginDate: '2021-11-29 14:30', endDate: '2021-11-29 17:00', remark: '备注内容', status: '#6bb377'},
+];
+// 会议室2日程安排
+let scheduleList1 = [
+    {id: 1, title: '小破孩', userId: 2, beginDate: '2021-08-03 09:30', endDate: '2021-08-05 11:30', remark: '备注内容', status: '#f08f00'},
+    {id: 2, title: '项目会议', userId: 3, beginDate: '2021-09-10 09:30', endDate: '2021-09-11 14:30', remark: '备注内容', status: '#6bb377'},
+    {id: 3, title: '供应商接待', userId: 1, beginDate: '2021-10-15 10:00', endDate: '2021-10-17 12:30', remark: '备注内容', status: '#6bb377'},
+    {id: 4, title: '部门周会', userId: 1, beginDate: '2021-11-23 13:30', endDate: '2021-11-23 15:30', remark: '备注内容', status: '#999'},
+    {id: 5, title: '项目分析会', userId: 2, beginDate: '2021-12-26 14:30', endDate: '2021-12-29 17:00', remark: '备注内容', status: '#6bb377'},
+];
+export default {
+    meetingRoomList,scheduleList0,scheduleList1
+}

+ 2 - 1
vue.config.js

@@ -135,7 +135,8 @@ module.exports = {
                 // target: 'http://192.168.0.156:9600/',
                 // target: 'http://192.168.2.170:9600/',
                 // target: 'http://192.168.2.169:9600/',
-                target: "http://192.168.0.66:9600",
+                // target: "http://192.168.0.90:9600",
+                target: "http://192.168.3.165:9600",
                 changeOrigin: true,
             },
         },