Browse Source

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

yuanrf 2 weeks ago
parent
commit
1396d35551

+ 284 - 0
src/components/Finance/ConferenceCost.vue

@@ -0,0 +1,284 @@
+<template>
+    <div class="conferencecost-all">
+        <div class="conferencecost-header">
+            <div class="conferencecost-header-left">
+                <div class="conferencecost-header-left-item">
+                    <label style="width:40px;">会务: </label>
+                    <el-select @change="conferenceidchange" size="small" v-model="conferenceid" clearable placeholder="请选择">
+                        <el-option v-for="item in conferenceidarr" :key="item.id" :label="item.teamName"
+                            :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="conferencecost-header-left-item">
+                    <label style="width:80px;">服务地区: </label>
+                    <el-input size="small" placeholder="请输入内容" v-model="input" clearable>
+                    </el-input>
+                </div>
+            </div>
+            <div class="conferencecost-header-right">
+                <el-select size="small" v-model="conferenceid" clearable placeholder="请选择">
+                    <el-option v-for="item in conferenceidarr" :key="item.value" :label="item.label"
+                        :value="item.value">
+                    </el-option>
+                </el-select>
+                <el-button size="small" type="primary">生成表格</el-button>
+                <el-button size="small" type="primary">保存</el-button>
+                <el-button size="small" type="primary">审核通过</el-button>
+            </div>
+        </div>
+        <div class="conferencecost-content">
+            <el-table border ref="multipleTable" :data="tableDatas" tooltip-effect="dark" style="width: 100%"
+                @selection-change="handleSelectionChange">
+                <el-table-column type="selection" width="55">
+                </el-table-column>
+                <el-table-column label="序号" prop="index" width="55">
+                </el-table-column>
+                <el-table-column prop="name" label="类型" width="120">
+                    <template slot-scope="scope">
+                        <el-select size="small" v-model="scope.row.priceType" clearable placeholder="请选择">
+                            <el-option v-for="item in options" :key="item.id" :label="item.text"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="单项内容" width="120">
+                    <template slot-scope="scope">
+                        <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="scope.row.priceName"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="成本单价" width="120">
+                    <template slot-scope="scope">
+                        <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.costPrice"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="币种" width="80">
+                    <template slot-scope="scope">
+                        <el-select size="small" v-model="scope.row.currency" clearable placeholder="请选择">
+                            <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="数量" width="100">
+                    <template slot-scope="scope">
+                        <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.count"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="单位" width="100">
+                    <template slot-scope="scope">
+                        <el-input size="mini" v-model="scope.row.unit" placeholder="请输入内容"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="系数" width="100">
+                    <template slot-scope="scope">
+                        <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.coefficient"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="单项报价金额" width="100">
+                    <template slot-scope="scope">
+                        <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.baoJiaPrice"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="附加值">
+                    <template slot-scope="scope">
+                        <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="scope.row.addedValue"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="明细">
+                    <template slot-scope="scope">
+                        <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="scope.row.details"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="name" label="备注">
+                    <template slot-scope="scope">
+                        <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="scope.row.remark"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="reviewStatus" label="审核状态" width="100">
+                </el-table-column>
+                <el-table-column label="操作" width="100px">
+                    <!-- <template slot-scope="scope"> -->
+                        <div class="conferencecost-content-btn">
+                            <el-button size="mini" type="danger">移 除</el-button>
+                            <el-button size="mini" type="primary">通 过</el-button>
+                            <el-button size="mini" type="danger">撤 销</el-button>
+                        </div>
+                            
+                    <!-- </template> -->
+                </el-table-column>
+            </el-table>
+            <div class="Addline">
+                <el-button size="small" @click="addlineclick" type="primary">添加一行</el-button>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            tableDatas: [
+                // {
+                //     priceType:'',//费用类型
+                //     priceName:'',//费用名称
+                //     costPrice:0,//成本费用
+                //     currency:'',//币种
+                //     rate:0,//当时汇率
+                //     count:0,//数量
+                //     unit:'',//单位
+                //     coefficient:0,//系数
+                //     baoJiaPrice:0,//报价金额
+                //     addedValue:'',//附加值
+                //     details:'',//明细
+                //     reviewStatus:'',//审核状态
+                //     diid:'',//团组Id
+                //     id:0,//主表Id
+                //     remark:'',//备注
+                // }
+                
+            ],
+            conferenceid: 0,
+            conferenceidarr: [],
+            input: '',
+            options: [],
+            token:'',
+            userId: '',
+            restriction:true,
+        }
+    },
+    updated() {
+        console.log(1);
+        if (this.restriction) {
+            this.$emit('transfer', true)
+            this.restriction=false;
+        }
+    },
+    destroyed() {
+        this.$emit('transfer', false)
+    },
+    methods: {
+        handleSelectionChange(val) {
+            this.multipleSelection = val;
+        },
+        //获取基础数据
+        ConferenceAffairsInIt(){
+            var url = "/api/Groups/ConferenceAffairsInIt"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    userId: that.userId,
+                    groupId: that.conferenceid,
+                }
+            }).then(function (res) {
+                that.conferenceidarr = res.data.data.groupList;
+                that.conferenceid=that.conferenceidarr[0].id;
+                that.options = res.data.data.typeData;
+                that.ConferenceAffairsInIts();
+            })
+        },
+        //获取数据
+        ConferenceAffairsInIts(){
+            var url = "/api/Groups/ConferenceAffairsInIt"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    userId: 21,
+                    groupId: that.conferenceid,
+                }
+            }).then(function (res) {
+                
+            })
+        },
+        //会务切换
+        conferenceidchange(val) {
+            this.ConferenceAffairsInIts();
+        },
+        //添加一行
+        addlineclick(){
+            this.tableDatas.push({
+                index: this.tableDatas.length + 1,
+                priceType:'',//费用类型
+                priceName:'',//费用名称
+                costPrice:0,//成本费用
+                currency:'',//币种
+                rate:0,//当时汇率
+                count:0,//数量
+                unit:'',//单位
+                coefficient:0,//系数
+                baoJiaPrice:0,//报价金额
+                addedValue:'',//附加值
+                details:'',//明细
+                reviewStatus:'',//审核状态
+                diid:this.conferenceid,//团组Id
+                id:0,//主表Id
+                remark:'',//备注
+            });
+        }
+    },
+    mounted(){
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+        this.ConferenceAffairsInIt();
+    }
+}
+</script>
+<style>
+.conferencecost-all {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    min-height: 830px;
+}
+.conferencecost-header{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+}
+.conferencecost-header-left {
+    display: flex;
+    flex-wrap: wrap;
+}
+
+.conferencecost-header-left-item {
+    margin-right: 15px;
+    margin-bottom: 15px;
+}
+
+.conferencecost-header-left-item {
+    display: flex;
+    align-items: center;
+}
+.conferencecost-content .el-input-number--mini{
+    width: 100%;
+}
+.conferencecost-content-btn{
+    display: flex;
+    justify-content: center;
+    flex-wrap: wrap;
+}
+.conferencecost-content-btn .el-button+.el-button{
+    margin-left: 0px;
+    margin-top: 5px;
+}
+.Addline{
+    margin-top: 10px;
+    text-align: center;
+}
+.conferencecost-header-right>div,button{
+    margin-bottom: 15px;
+}
+</style> 

+ 39 - 1
src/components/Resource/OfficialActivities.vue

@@ -170,6 +170,43 @@ export default {
             this.currentPage = val;
             this.currentPage = val;
         },
         },
         //团组下拉框
         //团组下拉框
+        OfficialActivitiesGroupNameList() {
+            this.fullscreenLoading=true;
+            var url = "/api/Resource/OfficialActivitiesGroupNameList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 3,
+                    pageIndex: 1,
+                    pageSize: 10000,
+                    groupName: '',
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.delegationInfoList = res.data.data;
+                    if(that.diids!=that.diids){
+                        that.DiId = that.delegationInfoList[0].id;
+                        that.delegationInfo = that.delegationInfoList[0];
+                    }else{
+                        that.DiId=that.diids;
+                    }
+                    that.fullscreenLoading=false;
+                    that.delegationSelectChange();
+                    // that.QueryOfficialActivitiesByDiId();
+                }else{
+                    that.fullscreenLoading=false;
+                }
+            }).catch(function (error) {
+                that.fullscreenLoading=false;
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //团组下拉框
         GetGroupAllList() {
         GetGroupAllList() {
             this.fullscreenLoading=true;
             this.fullscreenLoading=true;
             var url = "/api/Resource/GetGroupAllList"
             var url = "/api/Resource/GetGroupAllList"
@@ -347,7 +384,8 @@ export default {
         this.diids = Number(this.$route.query.DiId);
         this.diids = Number(this.$route.query.DiId);
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
         this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
         this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
-        this.GetGroupAllList();
+        // this.GetGroupAllList();
+        this.OfficialActivitiesGroupNameList();
     },
     },
     mounted() {
     mounted() {
         
         

+ 165 - 134
src/components/Resource/OpOfficialActivities.vue

@@ -782,8 +782,9 @@ export default {
             })
             })
         },
         },
         //团组下拉框
         //团组下拉框
-        GetGroupAllList() {
-            var url = "/api/Resource/GetGroupAllList"
+        OfficialActivitiesGroupNameList() {
+            this.fullscreenLoading=true;
+            var url = "/api/Resource/OfficialActivitiesGroupNameList"
             var that = this
             var that = this
             this.$axios({
             this.$axios({
                 method: 'post',
                 method: 'post',
@@ -792,28 +793,48 @@ export default {
                     Authorization: 'Bearer ' + this.token
                     Authorization: 'Bearer ' + this.token
                 },
                 },
                 data: {
                 data: {
-                    diid: that.DiId
+                    portType: 3,
+                    pageIndex: 1,
+                    pageSize: 10000,
+                    groupName: '',
                 }
                 }
             }).then(function (res) {
             }).then(function (res) {
                 if (res.data.code == 200) {
                 if (res.data.code == 200) {
-                    let datainfo=res.data.data;
-                    that.currencyarr=datainfo.currencyData;
-                    // that.restaurants = res.data.data.translatorData;
-                    that.restaurants= datainfo.translatorData.map((terminal) => {
-                        return {
-                            id:terminal.id,
-                            value:terminal.name,
-                            area:terminal.area,
-                            sex:terminal.sex,
-                            tel:terminal.tel,
-                            email:terminal.email,
-                            wechatNo:terminal.wechatNo,
-                            otherSocialAccounts:terminal.otherSocialAccounts,
-                            language:terminal.language,
-                            price:terminal.price,
-                            currency:terminal.currency,
-                        };
-                    });
+                    that.delegationInfoList = res.data.data;
+                    for (let index = 0; index < that.delegationInfoList.length; index++) {
+                        if (that.delegationInfoList[index].id == parseInt(that.DiId)) {
+                            that.delegationInfo = that.delegationInfoList[index];
+                            break;
+                        }
+                    }
+                    that.OfficialActivitiesInitDatabase();
+                }else{
+                    that.fullscreenLoading=false;
+                }
+            }).catch(function (error) {
+                that.fullscreenLoading=false;
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //基础数据初始化
+        OfficialActivitiesInitDatabase() {
+            var url = "/api/Resource/OfficialActivitiesInitDatabase"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 3,
+                    pageIndex: 1,
+                    pageSize: 10000,
+                    groupName: '',
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.currencyarr=res.data.data.currencyData;
                     that.deleFile = res.data.data.deleFile;
                     that.deleFile = res.data.data.deleFile;
                     that.deleFile.forEach(function (item) {
                     that.deleFile.forEach(function (item) {
                         if (item.kind == 1) {
                         if (item.kind == 1) {
@@ -837,10 +858,6 @@ export default {
                             });
                             });
                         }
                         }
                     });
                     });
-
-
-
-                    that.delegationInfoList = res.data.data.delegation;
                     that.OfficialFormList = res.data.data.setData;
                     that.OfficialFormList = res.data.data.setData;
                     that.dataSourceList = res.data.data.dataSource;
                     that.dataSourceList = res.data.data.dataSource;
                     if (that.OfficialFormList.length != 0) {
                     if (that.OfficialFormList.length != 0) {
@@ -848,13 +865,128 @@ export default {
                             that.OpOfficialActivitiesDto.officialForm = that.OfficialFormList[0].id
                             that.OpOfficialActivitiesDto.officialForm = that.OfficialFormList[0].id
                         }
                         }
                     }
                     }
-                    for (let index = 0; index < that.delegationInfoList.length; index++) {
-                        if (that.delegationInfoList[index].id == parseInt(that.DiId)) {
+                    that.OfficialActivitiesTranslatorList();
+                }else{
+                    that.$message.error("网络错误,请稍后重试");
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //翻译人员
+        OfficialActivitiesTranslatorList() {
+            var url = "/api/Resource/OfficialActivitiesTranslatorList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 3,
+                    pageIndex: 1,
+                    pageSize: 10000,
+                    groupName: '',
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.restaurants= res.data.data.map((terminal) => {
+                        return {
+                            id:terminal.id,
+                            value:terminal.name,
+                            area:terminal.area,
+                            sex:terminal.sex,
+                            tel:terminal.tel,
+                            email:terminal.email,
+                            wechatNo:terminal.wechatNo,
+                            otherSocialAccounts:terminal.otherSocialAccounts,
+                            language:terminal.language,
+                            price:terminal.price,
+                            currency:terminal.currency,
+                        };
+                    });
+                }else{
+                    that.$message.error("网络错误,请稍后重试");
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //团组下拉框
+        GetGroupAllList() {
+            var url = "/api/Resource/GetGroupAllList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    diid: that.DiId
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    // let datainfo=res.data.data;
+                    // that.currencyarr=datainfo.currencyData;
+                    // that.restaurants = res.data.data.translatorData;
+                    // that.restaurants= datainfo.translatorData.map((terminal) => {
+                    //     return {
+                    //         id:terminal.id,
+                    //         value:terminal.name,
+                    //         area:terminal.area,
+                    //         sex:terminal.sex,
+                    //         tel:terminal.tel,
+                    //         email:terminal.email,
+                    //         wechatNo:terminal.wechatNo,
+                    //         otherSocialAccounts:terminal.otherSocialAccounts,
+                    //         language:terminal.language,
+                    //         price:terminal.price,
+                    //         currency:terminal.currency,
+                    //     };
+                    // });
+                    // that.deleFile = res.data.data.deleFile;
+                    // that.deleFile.forEach(function (item) {
+                    //     if (item.kind == 1) {
+                    //         that.uploadFiles1.push({
+                    //             name: item.fileName,
+                    //             url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
+                    //             id: item.id
+                    //         });
+                    //     } else if (item.kind == 2) {
+                    //         that.uploadFiles2.push({
+                    //             name: item.fileName,
+                    //             url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
+                    //             id: item.id
+                    //         });
+                    //     }
+                    //     else if (item.kind == 3) {
+                    //         that.uploadFiles3.push({
+                    //             name: item.fileName,
+                    //             url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
+                    //             id: item.id
+                    //         });
+                    //     }
+                    // });
 
 
-                            that.delegationInfo = that.delegationInfoList[index];
-                            break;
-                        }
-                    }
+
+
+                    // that.delegationInfoList = res.data.data.delegation;
+                    // that.OfficialFormList = res.data.data.setData;
+                    // that.dataSourceList = res.data.data.dataSource;
+                    // if (that.OfficialFormList.length != 0) {
+                    //     if(that.id!=that.id){
+                    //         that.OpOfficialActivitiesDto.officialForm = that.OfficialFormList[0].id
+                    //     }
+                    // }
+                    // for (let index = 0; index < that.delegationInfoList.length; index++) {
+                    //     if (that.delegationInfoList[index].id == parseInt(that.DiId)) {
+
+                    //         that.delegationInfo = that.delegationInfoList[index];
+                    //         break;
+                    //     }
+                    // }
                 }
                 }
             }).catch(function (error) {
             }).catch(function (error) {
                 // that.$message.error("网络错误,请稍后重试");
                 // that.$message.error("网络错误,请稍后重试");
@@ -1371,108 +1503,6 @@ export default {
                 if (res.data.code == 200) {
                 if (res.data.code == 200) {
                     that.$message.success(res.data.msg);
                     that.$message.success(res.data.msg);
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                    
                     that.fileList = []
                     that.fileList = []
                     for(let i=0;i<res.data.data.fileUrls.length;i++){
                     for(let i=0;i<res.data.data.fileUrls.length;i++){
                         that.fileList.push({'name':res.data.data.fileUrls[i].split('/')[7],'url':res.data.data.fileUrls[i]})
                         that.fileList.push({'name':res.data.data.fileUrls[i].split('/')[7],'url':res.data.data.fileUrls[i]})
@@ -1536,7 +1566,8 @@ export default {
         this.headers3.DiId = this.DiId
         this.headers3.DiId = this.DiId
         this.headers3.CreateUserId = this.userId
         this.headers3.CreateUserId = this.userId
 
 
-        this.GetGroupAllList();
+        // this.GetGroupAllList();
+        this.OfficialActivitiesGroupNameList();
 
 
         if (this.DiId == null && this.DiId == undefined && this.DiId == 0) {
         if (this.DiId == null && this.DiId == undefined && this.DiId == 0) {
             this.DiId = '';
             this.DiId = '';

+ 6 - 0
src/router/index.js

@@ -138,6 +138,7 @@ import FormCollection from '@/components/OP/FormCollection';
 import SharedFile from '@/components/OP/SharedFile';
 import SharedFile from '@/components/OP/SharedFile';
 import tesseractTest from '@/components/OP/tesseractTest';
 import tesseractTest from '@/components/OP/tesseractTest';
 import WorldGamescost from '@/components/Resource/WorldGamescost'
 import WorldGamescost from '@/components/Resource/WorldGamescost'
+import ConferenceCost from '@/components/Finance/ConferenceCost'
 
 
 Vue.use(Router)
 Vue.use(Router)
 
 
@@ -824,6 +825,11 @@ export default new Router({
           name: 'WorldGamescost',
           name: 'WorldGamescost',
           component: WorldGamescost
           component: WorldGamescost
         },
         },
+        {
+          path: '/home/ConferenceCost',
+          name: 'ConferenceCost',
+          component: ConferenceCost
+        },
       ]
       ]
     },
     },
     {
     {