Forráskód Böngészése

新增商邀资料增删改查

wangh 1 éve%!(EXTRA string=óta)
szülő
commit
3d3ae597f3

+ 0 - 4
src/components/OP/OpInvitationOfficialActivities.vue

@@ -487,10 +487,6 @@ export default {
                 } 个文件,请取消要替换的文件`
             );
         },
-        //文件上传
-        // submitUpload() {
-
-        // },
         //文件上传成功时的钩子
         upLoadSuccess(response, file, fileList) {
             if (response.code == 200) {

+ 526 - 0
src/components/Resource/InvitationOfficialActivityData.vue

@@ -0,0 +1,526 @@
+<template>
+    <div>
+        <div class="communal-list">
+            <div class="communal-title">
+                <div>邀请/公务活动资料</div>
+            </div>
+            <div>
+                <div class="communal-box" style="margin-top: 10px;">
+                    <el-autocomplete class="inline-input" v-model="Country" :fetch-suggestions="querySearchCountry"
+                        placeholder="请输入国家" clearable></el-autocomplete>
+                    <el-autocomplete class="inline-input" v-model="UnitName" :fetch-suggestions="querySearchUnitName"
+                        placeholder="请输入邀请方" clearable></el-autocomplete>
+                    <el-autocomplete class="inline-input" v-model="Contact" :fetch-suggestions="querySearchContact"
+                        placeholder="联系人" clearable></el-autocomplete>
+                    <el-select v-model="Delegation" clearable filterable placeholder="团组名称" style="width: 20%;">
+                        <el-option v-for="item in restaurantDelegation" :key="item.id" :label="item.groupName"
+                            :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-autocomplete class="inline-input" v-model="Field" :fetch-suggestions="querySearchField"
+                        placeholder="领域" clearable></el-autocomplete>
+                    <el-button type="primary" @click="QueryData" style="margin-left: 10px;">查询</el-button>
+                    <div>
+                        <router-link to='/home/OpInvitationOfficialActivityData'>
+                            <el-button type="primary" style="margin-left: 10px;">新增</el-button>
+                        </router-link>
+                    </div>
+                </div>
+                <div class="communal-box" style="margin-top: 10px;">
+                    <el-select v-model="CreateUserId" placeholder="录入者" filterable clearable>
+                        <el-option v-for="item in CreateUserList" :key="item.id" :label="item.cnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-date-picker v-model="InviteTime" type="daterange" align="right" unlink-panels format="yyyy-MM-dd"
+                        value-format="yyyy-MM-dd" range-separator="至" start-placeholder="邀请开始日期" end-placeholder="邀请结束日期"
+                        :picker-options="pickerOptions">
+                    </el-date-picker>
+                    <el-button type="primary" @click="QueryCount" style="margin-left: 10px;">查询录入数量</el-button>
+                    <div style="display: flex;align-items: center;justify-content: center">
+                        查询结果:该人员在以上条件共录入<span style="color: red;">{{ dataCount }}</span>条数据
+                    </div>
+                </div>
+            </div>
+            <template>
+                <el-table :data="tableDatas.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border
+                    style="width: 100%;margin-top: 10px;" v-loading="loading" element-loading-text="拼命加载中...">
+                    <el-table-column prop="num" label="序 号" width="55">
+                        <template slot-scope="scope">
+                            {{ (currentPage - 1) * pageSize + scope.$index + 1 }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="country" label="国家">
+                    </el-table-column>
+                    <el-table-column prop="city" label="城市">
+                    </el-table-column>
+                    <el-table-column prop="unitName" label="邀请方名称">
+                    </el-table-column>
+                    <el-table-column prop="field" label="涉及领域">
+                    </el-table-column>
+                    <el-table-column prop="contact" label="联系人">
+                    </el-table-column>
+                    <el-table-column prop="job" label="职务">
+                    </el-table-column>
+                    <el-table-column prop="tel" label="手机">
+                    </el-table-column>
+                    <el-table-column prop="delegationStr" label="关联团组">
+                        <template slot-scope="Str">
+                            <div :title="Str.row.delegationStr" class="title">{{ Str.row.delegationStr }}</div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="createUserName" label="录入者">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="录入时间">
+                    </el-table-column>
+                    <el-table-column label="操作">
+                        <template slot-scope="scope">
+                            <el-button size="mini" @click="upDate(scope.$index, scope.row)">编辑</el-button>
+                            <el-button size="mini" type="danger" @click="del(scope.$index, scope.row)">删除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </template>
+            <div class="block">
+                <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                    :current-page="currentPage" :page-sizes="[10, 12, 15, 20]" :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next" :total="tableDatas.length">
+                </el-pagination>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            loading: false,
+            tableData: [],
+            tableDatas: [],
+            currentPage: 1, // 当前页码
+            pageSize: 8,// 每页的数据条数
+            dataCount: 0,//总条数
+            Country: "",
+            restaurantsCountry: [],
+            UnitName: "",
+            restaurantsUnitName: [],
+            Contact: "",
+            restaurantContact: [],
+            Delegation: "",
+            restaurantDelegation: [],
+            Field: "",
+            restaurantField: [],
+            CreateUserId: "",
+            CreateUserList: [],
+            InviteTime: "",
+            StartCreateTime: "",
+            EndCreateTime: "",
+            input: '',
+            token: '',
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+        }
+    },
+    methods: {
+        //每页条数改变时触发 选择一页显示多少行
+        handleSizeChange(val) {
+            this.currentPage = 1;
+            this.pageSize = val;
+        },
+        //当前页改变时触发 跳转其他页
+        handleCurrentChange(val) {
+            this.currentPage = val;
+        },
+
+        //国家搜索框处理
+        querySearchCountry(queryString, cb) {
+            //数据去重处理
+            var arr = this.restaurantsCountry;
+            for (var i = 0; i < arr.length - 1; i++) {
+                for (var j = i + 1; j < arr.length; j++) {
+                    if (arr[i].value == arr[j].value) {
+                        arr.splice(j, 1);
+                        //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
+                        j--;
+                    }
+                }
+            }
+            var restaurantsCountry = arr;
+            var results = queryString ? restaurantsCountry.filter(this.createFilter(queryString)) : restaurantsCountry;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+        },
+        //邀请方搜索框处理
+        querySearchUnitName(queryString, cb) {
+            var arr = this.restaurantsUnitName;
+            for (var i = 0; i < arr.length - 1; i++) {
+                for (var j = i + 1; j < arr.length; j++) {
+                    if (arr[i].value == arr[j].value) {
+                        arr.splice(j, 1);
+                        //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
+                        j--;
+                    }
+                }
+            }
+            var restaurantsUnitName = arr;
+            var results = queryString ? restaurantsUnitName.filter(this.createFilter(queryString)) : restaurantsUnitName;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+        },
+        //联系人搜索框处理
+        querySearchContact(queryString, cb) {
+            var arr = this.restaurantContact;
+            for (var i = 0; i < arr.length - 1; i++) {
+                for (var j = i + 1; j < arr.length; j++) {
+                    if (arr[i].value == arr[j].value) {
+                        arr.splice(j, 1);
+                        //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
+                        j--;
+                    }
+                }
+            }
+            var restaurantContact = arr;
+            var results = queryString ? restaurantContact.filter(this.createFilter(queryString)) : restaurantContact;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+        },
+        //领域搜索框处理
+        querySearchField(queryString, cb) {
+            var arr = this.restaurantField;
+            for (var i = 0; i < arr.length - 1; i++) {
+                for (var j = i + 1; j < arr.length; j++) {
+                    if (arr[i].value == arr[j].value) {
+                        arr.splice(j, 1);
+                        //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
+                        j--;
+                    }
+                }
+            }
+            var restaurantField = arr;
+            var results = queryString ? restaurantField.filter(this.createFilter(queryString)) : restaurantField;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+        },
+        createFilter(queryString) {
+            return (restaurant) => {
+                return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+            };
+        },
+
+        QueryData() {
+            this.QueryInvitationOfficialActivityData()
+        },
+        QueryInvitationOfficialActivityData() {
+            debugger
+            console.log(this.Delegation)
+            var CreateUser = 0;
+            if (this.CreateUserId == "" || this.CreateUserId == undefined || this.CreateUserId == null) {
+                CreateUser = 0
+            } else {
+                CreateUser = this.CreateUserId
+            }
+            if (this.InviteTime != "" && this.InviteTime != undefined && this.InviteTime != null) {
+                this.StartCreateTime = this.InviteTime[0]
+                this.EndCreateTime = this.InviteTime[1]
+            } else {
+                this.StartCreateTime = ""
+                this.EndCreateTime = ""
+            }
+            this.loading = true
+            var url = "/api/Resource/QueryInvitationOfficialActivityData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                    pageIndex: 0,
+                    pageSize: 0,
+                    Country: that.Country,
+                    UnitName: that.UnitName,
+                    Contact: that.Contact,
+                    Delegation: that.Delegation.toString(),
+                    Field: that.Field,
+                    CreateUserId: CreateUser,
+                    StartCreateTime: that.StartCreateTime,
+                    EndCreateTime: that.EndCreateTime
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    that.tableData = res.data.data;
+                    //#region 国家输入推荐数据
+                    that.tableData.forEach(function (item, index) {
+                        that.restaurantsCountry.push({
+                            value: item.country,
+                        });
+                    });
+                    //#endregion
+                    //#region 邀请方输入推荐数据
+                    that.tableData.forEach(function (item, index) {
+                        that.restaurantsUnitName.push({
+                            value: item.unitName,
+                        });
+                    });
+                    //#endregion
+                    //#region 联系人输入推荐数据
+                    that.tableData.forEach(function (item, index) {
+                        that.restaurantContact.push({
+                            value: item.contact,
+                        });
+                    });
+                    //#endregion
+                    //#region 领域输入推荐数据
+                    that.tableData.forEach(function (item, index) {
+                        that.restaurantField.push({
+                            value: item.field,
+                        });
+                    });
+                    //#endregion
+                    that.tableDatas = that.tableData
+                    if (that.tableDatas.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize).length == 0) {
+                        if (that.currentPage > 1) {
+                            that.currentPage = that.currentPage - 1;
+                        }
+                    }
+                    if (that.CreateUserId != 0 && that.CreateUserId != "") {
+                        that.dataCount = that.tableDatas.length
+                    }
+                } else {
+                    that.tableDatas = [];
+                }
+                that.loading = false
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        QueryCount() {
+            var CreateUser = 0;
+            if (this.CreateUserId == "" || this.CreateUserId == undefined || this.CreateUserId == null) {
+                CreateUser = 0
+            } else {
+                CreateUser = this.CreateUserId
+            }
+            if (this.InviteTime != "" && this.InviteTime != undefined && this.InviteTime != null) {
+                this.StartCreateTime = this.InviteTime[0]
+                this.EndCreateTime = this.InviteTime[1]
+            } else {
+                this.StartCreateTime = ""
+                this.EndCreateTime = ""
+            }
+            this.loading = true
+            var url = "/api/Resource/QueryInvitationOfficialActivityData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                    pageIndex: 0,
+                    pageSize: 0,
+                    Country: '',
+                    UnitName: '',
+                    Contact: '',
+                    Delegation: '',
+                    Field: '',
+                    CreateUserId: CreateUser,
+                    StartCreateTime: that.StartCreateTime,
+                    EndCreateTime: that.EndCreateTime
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    that.tableData = res.data.data;
+                    that.tableDatas = that.tableData
+                    if (that.tableDatas.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize).length == 0) {
+                        if (that.currentPage > 1) {
+                            that.currentPage = that.currentPage - 1;
+                        }
+                    }
+                    if (that.CreateUserId != 0 && that.CreateUserId != "") {
+                        that.dataCount = that.tableDatas.length
+                    }
+                } else {
+                    that.tableDatas = [];
+                }
+                that.loading = false
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //录入者数据
+        GetUserNameList() {
+            var url = "/api/System/GetUserNameList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    PortType: 1
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.CreateUserList = res.data.data;
+
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //团组数据
+        GetGroupNameList() {
+
+            var url = "/api/Groups/GetGroupNameList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    PortType: 1
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    debugger
+                    that.restaurantDelegation = res.data.data;
+
+                }
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        del(index, row) {
+            this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                var url = "/api/Resource/DelInvitationOfficialActivity"
+                var that = this
+                this.$axios({
+                    method: 'post',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                    data: {
+                        Id: row.id,
+                        DeleteUserId: this.userId
+                    }
+                }).then(function (res) {
+                    console.log(res)
+
+                    if (res.data.code == 200) {
+
+                        that.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        });
+                        that.QueryInvitationOfficialActivityData();
+                    } else {
+                        that.$message.error('删除失败!');
+                    }
+                    that.loading = false
+                }).catch(function (error) {
+                    that.loading = false
+                    that.$message.error("网络错误,请稍后重试");
+                });
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '操作已取消!'
+                });
+            });
+        },
+        upDate(index, row) {
+            this.$router.push({
+                path: "/home/OpInvitationOfficialActivityData",
+                query: { id: row.id }
+            })
+        },
+    },
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.QueryInvitationOfficialActivityData();
+        this.GetUserNameList();
+        this.GetGroupNameList();
+
+    }
+}
+</script>
+<style>
+.communal-list {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+}
+
+.communal-title {
+    display: flex;
+    font-size: 17px;
+    font-weight: 600;
+    color: #555;
+    margin-top: 8px;
+    margin-bottom: 10px;
+    justify-content: space-between;
+    align-items: center;
+}
+
+.communal-box {
+    display: flex;
+}
+
+.communal-box>button {
+    margin-left: 10px;
+    padding: 8px 20px;
+}
+
+.title {
+    width: 80px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    cursor: pointer;
+}
+</style>

+ 1 - 24
src/components/Resource/LocalGuide.vue

@@ -140,36 +140,13 @@ export default {
             this.tableDatas = newarr;
             this.currentPage = 1;
         },
-        querySearch(queryString, cb) {
-            var arr = this.unitAreas;
-            for (var i = 0; i < arr.length - 1; i++) {
-                for (var j = i + 1; j < arr.length; j++) {
-                    if (arr[i].value == arr[j].value) {
-                        arr.splice(j, 1);
-                        //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
-                        j--;
-                    }
-                }
-            }
-            var restaurants = arr;
-            var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
-            // 调用 callback 返回建议列表的数据
-            cb(results);
-        },
-        createFilter(queryString) {
-            return (restaurant) => {
-                return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
-            };
-        },
+
         upDate(index, row) {
             this.$router.push({
                 path: "/home/LocalGuideOperation",
                 query: { id: row.id }
             })
         },
-        handleSelect(item) {
-            console.log(item);
-        },
         del(index, row) {
             this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
                 confirmButtonText: '确定',

+ 468 - 0
src/components/Resource/OpInvitationOfficialActivityData.vue

@@ -0,0 +1,468 @@
+<template>
+    <div class="car_add">
+        <div>
+            <div class="communal-title">
+                <div>{{ title }}</div>
+            </div>
+        </div>
+        <hr style='background-color:#5555; height:1px; border:none;' />
+        <div>
+            <el-form :model="OpInvitationOfficialActivityData" ref="OpInvitationOfficialActivityData"
+                :rules="OpInvitationOfficialActivityDataRules" label-width="100px" class="demo-ruleForm">
+                <div style="display:flex ;">
+                    <div style="width: 25%;">
+                        <el-form-item label="国家:" prop="country" label-width="160px">
+                            <el-input clearable placeholder="国家" v-model="OpInvitationOfficialActivityData.country">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="城市:" prop="city" label-width="160px">
+                            <el-input clearable placeholder="城市" v-model="OpInvitationOfficialActivityData.city">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="邀请方名称:" prop="unitName" label-width="160px">
+                            <el-input clearable placeholder="邀请方名称" v-model="OpInvitationOfficialActivityData.unitName">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="邀请方官网:" prop="unitWeb" label-width="160px">
+                            <el-input clearable placeholder="邀请方官网" v-model="OpInvitationOfficialActivityData.unitWeb">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display:flex ;">
+                    <div style="width: 25%;">
+                        <el-form-item label="涉及领域:" prop="field" label-width="160px">
+                            <el-input clearable placeholder="涉及领域" v-model="OpInvitationOfficialActivityData.field">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="邀请方地址:" prop="address" label-width="160px">
+                            <el-input clearable placeholder="邀请方地址" v-model="OpInvitationOfficialActivityData.address">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="邀请方信息:" prop="unitInfo" label-width="160px">
+                            <el-input clearable placeholder="邀请方信息" v-model="OpInvitationOfficialActivityData.unitInfo">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="联系人:" prop="contact" label-width="160px">
+                            <el-input clearable placeholder="联系人" v-model="OpInvitationOfficialActivityData.contact">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display:flex ;">
+                    <div style="width: 25%;">
+                        <el-form-item label="联系人职务:" prop="job" label-width="160px">
+                            <el-input clearable placeholder="联系人职务" v-model="OpInvitationOfficialActivityData.job">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="联系电话:" prop="tel" label-width="160px">
+                            <el-input clearable placeholder="联系电话" v-model="OpInvitationOfficialActivityData.tel">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="电子邮箱:" prop="email" label-width="160px">
+                            <el-input clearable placeholder="电子邮箱" v-model="OpInvitationOfficialActivityData.email">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="微信:" prop="weChat" label-width="160px">
+                            <el-input clearable placeholder="微信" v-model="OpInvitationOfficialActivityData.weChat">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display:flex ;">
+                    <div style="width: 25%;">
+                        <el-form-item label="FaceBook:" prop="faceBook" label-width="160px">
+                            <el-input clearable placeholder="faceBook" v-model="OpInvitationOfficialActivityData.faceBook">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="Ins:" prop="ins" label-width="160px">
+                            <el-input clearable placeholder="ins" v-model="OpInvitationOfficialActivityData.ins">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="传真号码:" prop="fax" label-width="160px">
+                            <el-input clearable placeholder="传真号码" v-model="OpInvitationOfficialActivityData.fax">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="团组名称:" prop="delegation" label-width="160px">
+                            <el-select v-model="OpInvitationOfficialActivityData.delegation" clearable filterable multiple
+                                placeholder="团组名称">
+                                <el-option v-for="item in DelegationList" :key="item.id" :label="item.groupName"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display:flex ;">
+                    <div style="width: 50%;">
+                        <el-form-item label="邀请函文件(原版):" prop="fileUrl" label-width="160px">
+                            <div>
+                                {{ OpInvitationOfficialActivityData.filePath }} <el-link>下载原版文件</el-link>
+                            </div>
+
+                        </el-form-item>
+                        <el-form-item label="邀请函文件(修改版):" prop="fileUrl" label-width="160px">
+                            <el-upload :file-list="uploadFiles" ref="upload" :on-success="upLoadSuccess"
+                                :on-error="upLoadError" :before-remove="beforeRemove" :on-change="onChange" :limit="1"
+                                :on-exceed="exceed" :action="uploadURL" :headers="headers" :auto-upload="false">
+                                <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+                                <!-- <el-button style="margin-left: 10px;" size="small" type="success"
+                                    @click="submitUpload">上传到服务器</el-button> -->
+                            </el-upload>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 50%;">
+                        <el-form-item label="其他信息:" prop="remark" label-width="160px">
+                            <el-input type="textarea" :rows="5" placeholder="其他信息"
+                                v-model="OpInvitationOfficialActivityData.remark"></el-input>
+                        </el-form-item>
+                    </div>
+
+                </div>
+                <el-form-item>
+                    <div style="margin-left: 60%;">
+                        <el-button type="primary" @click="addBtn">保存</el-button>
+                        <router-link to='/home/InvitationOfficialActivityData'>
+                            <el-button>取消</el-button>
+                        </router-link>
+                    </div>
+                </el-form-item>
+            </el-form>
+
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            title: "新增商邀资料",
+            token: '',
+            userId: 0,
+            OpInvitationByIdData: {},
+            OpInvitationOfficialActivityData: {
+                status: 0,
+                id: 0,
+                country: '',
+                city: '',
+                unitName: '',
+                unitWeb: '',
+                field: '',
+                address: '',
+                unitInfo: '',
+                contact: '',
+                job: '',
+                tel: '',
+                email: '',
+                weChat: '',
+                faceBook: '',
+                ins: '',
+                delegation: '',
+                filePath: '',
+                sndFilePath: '',
+                fax: '',
+                createUserId: 0,
+                remark: ''
+            },
+            OpInvitationOfficialActivityDataRules: {
+
+            },
+            DelegationList: [],
+            uploadFiles: [],//上传的文件列表
+            uploadURL: "http://132.232.92.186:8888/api/Groups/UploadProject",
+            headers: {
+                Authorization: JSON.parse(localStorage.getItem('userinif')).token,
+                TypeName: "B"
+            },
+            OldFile: '',
+            NewFile: '',
+            oldploadFiles: [{ name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }],//旧版文件列表
+        }
+    },
+
+    methods: {
+        //团组数据
+        GetGroupNameList() {
+            var url = "/api/Groups/GetGroupNameList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    PortType: 1
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    that.DelegationList = res.data.data;
+                }
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        QueryInvitationOfficialActivityById() {
+            var url = "/api/Resource/QueryInvitationOfficialActivityById"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    Id: that.OpInvitationOfficialActivityData.id
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.OpInvitationOfficialActivityData.id = res.data.data.id
+                    that.OpInvitationOfficialActivityData.country = res.data.data.country
+                    that.OpInvitationOfficialActivityData.city = res.data.data.city
+                    that.OpInvitationOfficialActivityData.unitName = res.data.data.unitName
+                    that.OpInvitationOfficialActivityData.unitWeb = res.data.data.unitWeb
+                    that.OpInvitationOfficialActivityData.field = res.data.data.field
+                    that.OpInvitationOfficialActivityData.address = res.data.data.address
+                    that.OpInvitationOfficialActivityData.unitInfo = res.data.data.unitInfo
+                    that.OpInvitationOfficialActivityData.contact = res.data.data.contact
+                    that.OpInvitationOfficialActivityData.job = res.data.data.job
+                    that.OpInvitationOfficialActivityData.tel = res.data.data.tel
+                    that.OpInvitationOfficialActivityData.email = res.data.data.email
+                    that.OpInvitationOfficialActivityData.weChat = res.data.data.weChat
+                    that.OpInvitationOfficialActivityData.faceBook = res.data.data.faceBook
+                    that.OpInvitationOfficialActivityData.ins = res.data.data.ins
+                    var delList = res.data.data.delegation.split(',')
+                    var delegaLOist = [];
+                    delList.forEach(function (item, index) {
+                        delegaLOist.push(
+                            parseInt(item)
+                        )
+                    });
+                    that.OpInvitationOfficialActivityData.delegation = delegaLOist
+                    that.OpInvitationOfficialActivityData.filePath = res.data.data.filePath
+                    that.OpInvitationOfficialActivityData.sndFilePath = res.data.data.sndFilePath
+                    that.OpInvitationOfficialActivityData.fax = res.data.data.fax
+                    that.OpInvitationOfficialActivityData.createUserId = res.data.data.createUserId
+                    that.OpInvitationOfficialActivityData.remark = res.data.data.remark
+                    if (that.OpInvitationOfficialActivityData.filePath != null && that.OpInvitationOfficialActivityData.filePath != undefined && that.OpInvitationOfficialActivityData.filePath != "") {
+                        that.uploadFiles.push({
+                            name: that.OpInvitationOfficialActivityData.sndFilePath,
+                            url: 'http://132.232.92.186:24/Office/GrpFile/团组增减款项相关文件/',
+                        })
+                    }
+
+                }
+
+            })
+        },
+
+        //点击保存事件
+        addBtn() {
+            debugger
+
+            const that = this;
+            that.OpInvitationOfficialActivityData.createUserId = that.userId
+            var delegationStr = '';
+            that.OpInvitationOfficialActivityData.delegation.forEach(function (item, index) {
+                delegationStr += item + ','
+            });
+            that.OpInvitationOfficialActivityData.delegation = delegationStr.substring(0, delegationStr.length - 1)
+            that.$refs.OpInvitationOfficialActivityData.validate((valid) => {
+                if (valid) {
+                    debugger
+                    if (that.uploadFiles.length == 0 || that.uploadFiles[0].name == that.OpInvitationOfficialActivityData.sndFilePath) {
+                        var url = "/api/Resource/OpInvitationOfficialActivity"
+                        that.$axios({
+                            method: 'post',
+                            url: url,
+                            headers: {
+                                Authorization: 'Bearer ' + that.token
+                            },
+                            data: that.OpInvitationOfficialActivityData
+                        }).then(function (res) {
+                            debugger
+                            if (res.data.code == 200) {
+                                that.$message({
+                                    message: res.data.msg,
+                                    type: 'success'
+                                });
+                                that.loading = true;
+                                setTimeout(() => {
+                                    that.$router.push('/home/InvitationOfficialActivityData')
+                                }, 3000);
+                            } else {
+                                that.$message.error(res.data.msg);
+                            }
+                        })
+                    } else {
+                        that.$refs.upload.submit();//上传文件到服务器
+
+                    }
+                } else {
+                    this.$message.error('请完善信息在保存!');
+                    return false;
+                }
+            })
+        },
+        //上传
+        // 文件超出限制
+        exceed(files, fileList) {
+            this.$message.warning(
+                `当前限制选择 1个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
+                } 个文件,请取消要替换的文件`
+            );
+        },
+        //文件上传成功时的钩子
+        upLoadSuccess(response, file, fileList) {
+            debugger
+            if (response.code == 200) {
+                debugger
+                console.log("上传成功");
+                const that = this;
+                that.OpInvitationOfficialActivityData.filePath = that.OldFile;
+                that.OpInvitationOfficialActivityData.sndFilePath = response.data;
+                that.OpInvitationOfficialActivityData.createUserId = that.userId
+                var url = "/api/Resource/OpInvitationOfficialActivity"
+                that.$axios({
+                    method: 'post',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + that.token
+                    },
+                    data: that.OpInvitationOfficialActivityData
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.$message({
+                            message: res.data.msg,
+                            type: 'success'
+                        });
+                        that.loading = true;
+                        setTimeout(() => {
+                            that.$router.push('/home/InvitationOfficialActivityData')
+                        }, 3000);
+                    } else {
+                        that.$message.error(res.data.msg);
+                    }
+                })
+            } else {
+                console.log("保存失败");
+            }
+        },
+        //文件上传失败时的钩子
+        upLoadError(response, file, fileList) {
+            console.log("项目添加失败");
+        },
+        //删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
+        beforeRemove(file, fileList) {
+            this.uploadFiles = fileList;
+            this.OldFile = this.OpInvitationOfficialActivityData.filePath
+            this.NewFile = file.name
+        },
+        //文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+        onChange(file, fileList) {
+            this.uploadFiles = fileList
+            this.OldFile = this.OpInvitationOfficialActivityData.sndFilePath
+            this.OpInvitationOfficialActivityData.filePath = this.OldFile
+            this.NewFile = file.name
+        }
+    },
+
+    mounted() {
+
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.GetGroupNameList();
+        this.id = this.$route.query.id
+        if (this.id != null && this.id != undefined && this.id != 0) {
+            this.title = "修改团组增减款项费用";
+            this.OpInvitationOfficialActivityData.status = 2
+            this.OpInvitationOfficialActivityData.id = this.id
+            this.QueryInvitationOfficialActivityById();
+        } else {
+            this.OpInvitationOfficialActivityData.status = 1
+            this.title = "新增团组增减款项费用"
+        }
+    }
+}
+</script>
+<style>
+.communal-list {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+}
+
+.car_add .communal-title {
+    display: flex;
+    font-size: 17px;
+    font-weight: 600;
+    color: #555;
+    margin-bottom: 20px;
+    justify-content: space-between;
+    align-items: center;
+}
+
+.appraise-box {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    margin: 50px 0;
+}
+
+.appraise-box>div {
+    width: 30%;
+}
+
+.communal-box {
+    display: flex;
+}
+
+.communal-box>button {
+    margin-left: 10px;
+    padding: 8px 20px;
+}
+
+.car_add {
+    background-color: #fff;
+    padding: 20px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+}
+
+@media screen and (max-width: 1700px) {
+    .appraise-box>div {
+        width: 48%;
+    }
+
+    .appraise-box>div el-form-item__content {
+        width: 260px !important;
+    }
+}
+</style>

+ 2 - 2
src/main.js

@@ -19,8 +19,8 @@ Vue.use(VueQuillEditor);
 
 Vue.use(VueTypedJs)
 import axios from 'axios';
-axios.defaults.baseURL = 'http://132.232.92.186:8888';
-//axios.defaults.baseURL = 'http://localhost:5256/';
+//axios.defaults.baseURL = 'http://132.232.92.186:8888';
+axios.defaults.baseURL = 'http://localhost:5256/';
 import { Message } from "element-ui";
 
 import common from './assets/js/common'//全局

+ 13 - 0
src/router/index.js

@@ -59,6 +59,8 @@ import OpDecreasePayments from '@/components/OP/OpDecreasePayments';
 import Richtext from '@/components/GPT/Richtext';
 import InvitationOfficialActivities from '@/components/OP/InvitationOfficialActivities'
 import OpInvitationOfficialActivities from '@/components/OP/OpInvitationOfficialActivities';
+import InvitationOfficialActivityData from '@/components/Resource/InvitationOfficialActivityData';
+import OpInvitationOfficialActivityData from '@/components/Resource/OpInvitationOfficialActivityData';
 Vue.use(Router)
 
 export default new Router({
@@ -340,7 +342,18 @@ export default new Router({
           path: '/home/OpInvitationOfficialActivities',
           name: 'OpInvitationOfficialActivities',
           component: OpInvitationOfficialActivities
+        },
+        {
+          path: '/home/InvitationOfficialActivityData',
+          name: 'InvitationOfficialActivityData',
+          component: InvitationOfficialActivityData
+        },
+        {
+          path: '/home/OpInvitationOfficialActivityData',
+          name: 'OpInvitationOfficialActivityData',
+          component: OpInvitationOfficialActivityData
         }
+
       ]
     },
     {