소스 검색

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

yuanrf 1 년 전
부모
커밋
14e6b64c91
3개의 변경된 파일398개의 추가작업 그리고 95개의 파일을 삭제
  1. 91 2
      src/components/Finance/Overspend.vue
  2. 75 29
      src/components/Finance/Overspendedit.vue
  3. 232 64
      src/components/Finance/PaymentFiled.vue

+ 91 - 2
src/components/Finance/Overspend.vue

@@ -5,7 +5,7 @@
                 <div class="head-ipt">
                     <div class="name-ipt">
                         <label>团组名称:</label>
-                        <el-select style="width:250px" @change="chkg" v-model="gname" filterable placeholder="请选择">
+                        <el-select style="width:250px" v-model="gname" filterable placeholder="请选择">
                             <!-- <el-option
                               v-for="item in restaurants"
                               :key="item.id"
@@ -16,7 +16,7 @@
                     </div>
                     <div class="preserve-btn">
                         <el-button class="preserve" type="primary">导出超支明细</el-button>
-                        <el-button class="preserve" type="primary">新增数据</el-button>
+                        <el-button class="preserve" @click="addlist()" type="primary">新增数据</el-button>
                     </div>
                 </div>
                 <div class="overspend-info">
@@ -100,7 +100,12 @@
 export default {
     data() {
       return {
+        pageId:'',
+        token:'',
+        userId:'',
         gname:'',
+        cTable:'',
+        diId:10064,
         tableData: [{
           date: '2016-05-02',
           name: '王小虎',
@@ -119,6 +124,90 @@ export default {
           address: '上海市普陀区金沙江路 1516 弄'
         }]
       }
+    },
+    methods:{
+         //获取CTable
+         PostPageLinkCTable(){
+            var url = "/api/Business/PostPageLinkCTable"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.userId
+                },
+                data:{
+                    pageId:that.pageId,
+                }
+            }).then(function (res) {
+                console.log(res)
+                that.cTable=res.data.data.cTable;
+                //调用可操作的团
+                that.PostGroupListByCTableAndUserId();
+            })
+        },
+        //获取可操作的团
+        PostGroupListByCTableAndUserId(){
+            console.log();
+            var url = "/api/Business/PostGroupListByCTableAndUserId"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.userId
+                },
+                data:{
+                    portType:1,
+                    pageIndex:1,
+                    pageSize:10000,
+                    cTable:that.cTable,
+                    userId:that.userId
+                }
+            }).then(function (res) {
+                console.log(res)
+                
+            })
+        },
+        //获取超支列表
+        PostGroupExtraCost_Search(){
+            var url = "/api/Financial/PostGroupExtraCost_Search"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.userId
+                },
+                data:{
+                    portType:1,
+                    pageIndex:1,
+                    pageSize:10,
+                    diId:that.diId,
+                }
+            }).then(function (res) {
+                console.log(res)
+                that.tableData=res.data.data.dataList;
+            })
+        },
+        //新增
+        addlist(){
+            this.$router.push({
+                path: "/home/Overspendedit",
+                query: {
+                    DiId: this.diId,
+                }
+            })
+        }
+    },
+    mounted(){
+        this.pageId = localStorage.getItem('indexs').split('-')[1];
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+        //调用获取CTable
+        this.PostPageLinkCTable();
+        //调用获取超支列表
+        this.PostGroupExtraCost_Search();
     }
 }
 </script>

+ 75 - 29
src/components/Finance/Overspendedit.vue

@@ -19,61 +19,59 @@
                         <el-input v-model="form.name"></el-input>
                     </el-form-item>
                     <el-form-item label="费用名称">
-                        <el-input v-model="form.name"></el-input>
+                        <el-input v-model="form.priceName"></el-input>
                     </el-form-item>
                     <el-form-item label="费用金额">
                         <div style="display: flex;justify-content: space-between;">
-                            <el-input style="width:60%" v-model="form.name"></el-input>
-                            <el-select  style="width:38%" v-model="form.region" placeholder="币种">
+                            <el-input-number style="width:60%" @change="computerenminbi" :precision="2" placeholder="公务翻译费" v-model="form.price" :controls='false'>
+                            </el-input-number>
+                            <el-select  style="width:38%" v-model="form.currency" placeholder="币种">
                                 <el-option label="区域一" value="shanghai"></el-option>
                                 <el-option label="区域二" value="beijing"></el-option>
                             </el-select>
                         </div>
                     </el-form-item>
                     <el-form-item label="收款方">
-                        <el-input v-model="form.name"></el-input>
+                        <el-input v-model="form.payee"></el-input>
                     </el-form-item>
-                    <el-form-item label="团队名称">
+                    <!-- <el-form-item label="团队名称">
                         <el-select v-model="form.region" placeholder="请选择活动区域">
                             <el-option label="区域一" value="shanghai"></el-option>
                             <el-option label="区域二" value="beijing"></el-option>
                         </el-select>
-                    </el-form-item>
+                    </el-form-item> -->
                     <el-form-item label="费用标识">
-                        <el-select v-model="form.region" placeholder="请选择活动区域">
+                        <el-select v-model="form.costSign" placeholder="请选择活动区域">
                             <el-option label="区域一" value="shanghai"></el-option>
                             <el-option label="区域二" value="beijing"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label="支付方式">
-                        <el-select v-model="form.region" placeholder="请选择活动区域">
-                            <el-option label="区域一" value="shanghai"></el-option>
-                            <el-option label="区域二" value="beijing"></el-option>
+                        <el-select v-model="form.payType" placeholder="请选择支付方式">
+                            <el-option v-for="(item,index) in payment" :key="index" :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label="卡类型:">
-                        <el-select v-model="form.region" placeholder="请选择活动区域">
+                        <el-select v-model="form.payCardId" placeholder="请选择活动区域">
                             <el-option label="区域一" value="shanghai"></el-option>
                             <el-option label="区域二" value="beijing"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label="费用类型">
-                        <el-select v-model="form.region" placeholder="请选择活动区域">
-                            <el-option label="区域一" value="shanghai"></el-option>
-                            <el-option label="区域二" value="beijing"></el-option>
+                        <el-select @change="priceTypechange" v-model="form.priceType" placeholder="请选择活动区域">
+                            <el-option v-for="(item,index) in priceType" :key="index" :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
-                    <el-form-item label="详细类型">
-                        <el-select v-model="form.region" placeholder="请选择活动区域">
-                            <el-option label="区域一" value="shanghai"></el-option>
-                            <el-option label="区域二" value="beijing"></el-option>
+                    <el-form-item v-if="priceDetailTypes.length>0" label="详细类型">
+                        <el-select v-model="form.priceDetailType" placeholder="请选择活动区域">
+                            <el-option v-for="(item,index) in priceDetailTypes" :key="index" :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label="费用系数">
-                        <el-input v-model="form.name"></el-input>
+                        <el-input v-model="form.coefficient"></el-input>
                     </el-form-item>
                     <el-form-item style="width:100%" label="备注">
-                        <el-input type="textarea" :rows="5" v-model="form.desc"></el-input>
+                        <el-input type="textarea" :rows="5" v-model="form.remark"></el-input>
                     </el-form-item>
                     <el-form-item style="width:100%;text-align: right;">
                         <el-button type="primary" @click="onSubmit">保 存</el-button>
@@ -88,23 +86,71 @@
 export default {
     data() {
         return {
+            DiId:'',
             form: {
-                name: '',
-                region: '',
-                date1: '',
-                date2: '',
-                delivery: false,
-                type: [],
-                resource: '',
-                desc: ''
-            }
+                priceName:'',//费用名称
+                price:0,//金额
+                priceType:'',//费用类型Id
+                priceDetailType:'',//费用详细类型Id
+                coefficient:'',//系数
+                currency:'',//费用币种
+                payee:'',//收款方
+                costSign:'',//费用标识
+                payType:'',//支付方式
+                payCardId:'',//卡类型,支付方式为刷卡时有效
+                filePath:'',//附件路径
+                remark:'',//备注
+                createUser:'',//操作人员
+            },
+            payment:[],
+            priceType:[],
+            priceDetailType:[],
+            priceDetailTypes:[],
         }
     },
     methods: {
         onSubmit() {
             console.log('submit!');
+        },
+        //获取超支基础数据
+        PostGroupExtraCost_ListDataInit(){
+            var url = "/api/Financial/PostGroupExtraCost_ListDataInit"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.userId
+                },
+                data:{
+                    portType:1,
+                }
+            }).then(function (res) {
+                console.log(res)
+                that.payment=res.data.data.payment;
+                that.priceDetailType=res.data.data.priceDetailType;
+                that.priceType=res.data.data.priceType;
+            })
+        },
+        //费用类型change
+        priceTypechange(val){
+            this.priceDetailTypes=[]
+            var priceDetailTypearr=[]
+            for(var i=0;i<this.priceDetailType.length;i++){
+                if(val+''==this.priceDetailType[i].remark){
+                    priceDetailTypearr.push(this.priceDetailType[i])
+                }
+            }
+            this.priceDetailTypes=priceDetailTypearr;
+            console.log(this.priceDetailTypes.length);
         }
+    },
+    mounted(){
+        this.DiId = Number(this.$route.query.DiId);
+        //调用获取超支基础数据
+        this.PostGroupExtraCost_ListDataInit()
     }
+
 }
 </script>
 <style>

+ 232 - 64
src/components/Finance/PaymentFiled.vue

@@ -2,15 +2,9 @@
     <div>
         <div class="paymentfiled-all">
             <div class="paymentfiled-haed">
-                <el-date-picker
-                v-model="value2"
-                type="monthrange"
-                align="left"
-                unlink-panels
-                range-separator="至"
-                start-placeholder="开始月份"
-                end-placeholder="结束月份"
-                :picker-options="pickerOptions">
+                <el-date-picker v-model="value2" type="daterange" align="left" unlink-panels range-separator="至"
+                    start-placeholder="开始日期" end-placeholder="结束日期" @change="datechange"
+                    :picker-options="pickerOptions">
                 </el-date-picker>
                 <div class="haed-btn">
                     <el-button type="primary">查看勾选</el-button>
@@ -23,75 +17,156 @@
             <div class="paymentfiled-info">
                 <div class="paymentfiled-info-li">
                     <label>付款申请人:</label>
-                    <span>AS</span>
+                    <span>{{applicant}}</span>
                 </div>
                 <div class="paymentfiled-info-li">
                     <label>申请付款日期:</label>
-                    <span>小熟悉熟悉</span>
+                    <span>{{application}}</span>
                 </div>
-                <div class="paymentfiled-info-li">
+                <!-- <div class="paymentfiled-info-li">
                     <label>申请付款金额:</label>
-                    <span>新加坡</span>
-                </div>
+                    <span>公转:{{revolution}} CNY</span>
+                    &nbsp;
+                    &nbsp;
+                    <span>私转:{{privateTransfer}} CNY</span>
+                </div> -->
             </div>
             <div class="paymentfiled-form">
-                <el-table
+                <el-collapse v-model="activeNames" @change="handleChange">
+                    <el-collapse-item name="1">
+                        <template slot="title">
+                            <div style="width: 100%;">
+                                <p style="float: left;user-select: none;">
+                                    日付申请
+                                </p>
+                                <p align="right" style="user-select: none;">
+                                    <span>公转:{{rfrevolution}} CNY</span>
+                                    &nbsp;
+                                    &nbsp;
+                                    <span>私转:{{rfprivateTransfer}} CNY</span>
+                                    &nbsp;
+                                    &nbsp;
+                                    &nbsp;
+                                    &nbsp;
+                                </p>
+                            </div>
+                        </template>
+                        
+                    </el-collapse-item>
+                    <el-collapse-item name="2">
+                        <template slot="title">
+                            <div style="width: 100%;">
+                                <p style="float: left;user-select: none;">
+                                    团组付款申请
+                                </p>
+                                <p align="right" style="user-select: none;">
+                                    <span>公转:{{tzrevolution}} CNY</span>
+                                    &nbsp;
+                                    &nbsp;
+                                    <span>私转:{{tzprivateTransfer}} CNY</span>
+                                    &nbsp;
+                                    &nbsp;
+                                    &nbsp;
+                                    &nbsp;
+                                </p>
+                            </div>
+                        </template>
+                        <el-table :border="true" :data="groupstableData" style="width: 100%">
+                            <el-table-column align="center" type="expand">
+                                <div class="childtable" slot-scope="scope">
+                                    <el-table @select="handleSelectionChange"  :header-cell-style="{backgroundColor: '#f2f6fd'}" :border="true" :data="scope.row.childList" style="width: 95%">
+                                        <el-table-column type="selection" width="55">
+                                        </el-table-column>
+                                        <el-table-column prop="rowNumber" label="序号" width="55">
+                                        </el-table-column>
+                                        <el-table-column prop="moduleName" label="费用类型" width="120">
+                                        </el-table-column>
+                                        <el-table-column prop="priceName" label="费用名称">
+                                        </el-table-column>
+                                        <el-table-column prop="payee" label="收款方" width="200">
+                                        </el-table-column>
+                                        <el-table-column prop="payType" label="支付方式" width="120">
+                                        </el-table-column>
+                                        <el-table-column label="付款金额" show-overflow-tooltip width="200">
+                                            <template slot-scope="scope">
+                                                {{ scope.row.paymentAmount|numFilter }}  {{scope.row.payCurrCode}}
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column label="人民币金额" show-overflow-tooltip  width="200">
+                                            <template slot-scope="scope">
+                                                {{ scope.row.paymentAmount*scope.row.payRate|numFilter }}  CNY
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column prop="payRate" label="当前汇率" width="150">
+                                            <template slot-scope="scope">
+                                                <el-input-number style="width:60%" :precision="4" placeholder="公务翻译费" v-model="scope.row.payRate" :controls='false'>
+                                                </el-input-number>
+                                            </template>
+                                        </el-table-column>
+                                    </el-table>
+                                </div>
+                            </el-table-column>
+                            <el-table-column prop="groupName" label="团组名称">
+                            </el-table-column>
+                            <el-table-column label="支付金额" show-overflow-tooltip>
+                                <template slot-scope="scope">
+                                    {{ scope.row.cnyTotalAmount|numFilter }}  CNY
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-collapse-item>
+                </el-collapse>
+                <!-- <el-table
                     :border="true"
                     ref="multipleTable"
                     :data="tableData"
                     tooltip-effect="dark"
                     style="width: 100%"
                     @selection-change="handleSelectionChange">
-                    <el-table-column
-                    type="selection"
-                    width="55">
-                    </el-table-column>
+                    <el-table-column type="expand">
+                        ///
+                        <template slot-scope="props">
+                          <el-form label-position="left" inline class="demo-table-expand">
+                            <el-form-item label="商品名称">
+                              <span>{{ props}}</span>
+                            </el-form-item>
+                            <el-form-item label="所属店铺">
+                              <span>{{ props }}</span>
+                            </el-form-item>
+                            <el-form-item label="商品 ID">
+                              <span>{{ props }}</span>
+                            </el-form-item>
+                            <el-form-item label="店铺 ID">
+                              <span>{{ props}}</span>
+                            </el-form-item>
+                            <el-form-item label="商品分类">
+                              <span>{{ props }}</span>
+                            </el-form-item>
+                            <el-form-item label="店铺地址">
+                              <span>{{ props }}</span>
+                            </el-form-item>
+                            <el-form-item label="商品描述">
+                              <span>{{ props }}</span>
+                            </el-form-item>
+                          </el-form>
+                        </template>
+                      </el-table-column>
                     <el-table-column
                     prop="paytype"
-                    label="付款方式"
-                    width="120">
+                    label="账单类型"
+                    >
                     </el-table-column>
                     <el-table-column
-                    label="日期"
-                    width="120">
+                    label="公转金额"
+                    width="200">
                     <template slot-scope="scope">{{ scope.row.date }}</template>
                     </el-table-column>
                     <el-table-column
                     prop="applicant"
-                    label="申请人"
-                    width="120">
-                    </el-table-column>
-                    <el-table-column
-                    prop="recipient"
-                    label="收款方"
+                    label="私转金额"
                     width="200">
                     </el-table-column>
-                    <el-table-column
-                    prop="groupname"
-                    label="团组名"
-                    width="200">
-                    </el-table-column>
-                    <el-table-column
-                    prop="type"
-                    label="费用类型"
-                    width="120">
-                    </el-table-column>
-                    <el-table-column
-                    prop="renminbi"
-                    label="人民币金额"
-                    width="120">
-                    </el-table-column>
-                    <el-table-column
-                    prop="trade"
-                    label="交易金额"
-                    width="120">
-                    </el-table-column>
-                    <el-table-column
-                    prop="remark"
-                    label="备注"
-                    show-overflow-tooltip>
-                    </el-table-column>
-                </el-table>
+                </el-table> -->
             </div>
         </div>
     </div>
@@ -100,6 +175,12 @@
 export default {
     data() {
       return {
+        applicant:'',
+        application:'',
+        rfrevolution:'0.00',//日付公转
+        rfprivateTransfer:'0.00',//日付私转
+        tzrevolution:'0.00',//团组公转
+        tzprivateTransfer:'0.00',//团组私转
         tableData: [
         {
             paytype:'转账',
@@ -172,38 +253,117 @@ export default {
             trade:'-9000.00',
             remark: '上海市普陀区金沙江路 1518 弄'
         }],
+        
+        activeNames: ['2'],
+
         multipleSelection: [],
         pickerOptions: {
           shortcuts: [{
-            text: '本月',
+            text: '最近一周',
             onClick(picker) {
-              picker.$emit('pick', [new Date(), new Date()]);
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit('pick', [start, end]);
             }
           }, {
-            text: '今年至今',
+            text: '最近一个月',
             onClick(picker) {
               const end = new Date();
-              const start = new Date(new Date().getFullYear(), 0);
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
               picker.$emit('pick', [start, end]);
             }
           }, {
-            text: '最近个月',
+            text: '最近个月',
             onClick(picker) {
               const end = new Date();
               const start = new Date();
-              start.setMonth(start.getMonth() - 6);
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
               picker.$emit('pick', [start, end]);
             }
           }]
         },
         value2: '',
-        checked:''
+        checked:'',
+        groupstableData:[]
       };
     },
     methods:{
+        handleChange(val) {
+            console.log(val);
+        },
         handleSelectionChange(val) {
-            this.multipleSelection = val;
-        }
+            // console.log(index);
+            console.log(val);
+            // this.multipleSelection = val;
+        },
+        //处理时间
+        getdate(val){
+            var date=new Date(val);
+            var y=date.getFullYear();
+            var m=date.getMonth()+1<10?'0'+(date.getMonth()+1):date.getMonth()+1;
+            var d=date.getDate()<10?'0'+date.getDate():date.getDate();
+            return y+'-'+m+'-'+d
+        },
+        //选择日期
+        datechange(){
+            //初始化
+            this.rfrevolution='0.00';//日付公转
+            this.rfprivateTransfer='0.00';//日付私转
+            this.tzrevolution='0.00';//团组公转
+            this.tzprivateTransfer='0.00';//团组私转
+            // this.PostPayRequest_Center(this.getdate(this.value2[0]),this.getdate(this.value2[1]));
+            this.PostPayRequest_Center('2023-01-01','2024-03-25');
+        },
+        //获取付款申请list
+        PostPayRequest_Center(beginDt,endDt){
+            var url = "/api/Financial/PostPayRequest_Center"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType:1,
+                    status:1,
+                    beginDt:beginDt,
+                    endDt:endDt,
+                }
+            }).then(function (res) {
+                if(res.data.code==200){
+                    console.log(res)
+                    that.rfrevolution=res.data.data.daily.gz;
+                    that.rfprivateTransfer=res.data.data.daily.sz;
+                    that.tzrevolution=res.data.data.group.gz;
+                    that.tzprivateTransfer=res.data.data.group.sz;
+                    that.groupstableData=res.data.data.group.dataList
+                }else{
+                    that.$message({
+                        message: '加载失败!原因:'+res.data.msg,
+                        type: 'warning'
+                    });
+                }
+            })
+        },
+    },
+    filters: {
+        numFilter(value) {
+            let realVal = "";
+            if (!isNaN(value) && value !== "") {
+            // 截取当前数据到小数点后两位,改变toFixed的值即可截取你想要的数值
+            realVal = parseFloat(value).toFixed(2);
+            } else {
+            realVal = "--";
+            }
+            return realVal;
+        },
+    },
+    mounted(){
+        this.applicant=JSON.parse(localStorage.getItem('userinif')).userInfo.cnName;
+        this.application=this.getdate(new Date());
     }
 }
 </script>
@@ -215,6 +375,7 @@ export default {
         border-radius: 10px;
         height: 100%;
         min-height: 840px;
+        
     }
     .paymentfiled-haed{
         display: flex;
@@ -247,4 +408,11 @@ export default {
     .paymentfiled-haed .el-date-editor--monthrange.el-input__inner{
         width: 300px;
     }
+    .childtable{
+        text-align: -webkit-center;
+    }
+    .childtable .el-table tr {
+        background-color: #f2f6fd !important;
+        font-weight: bold;
+    }
 </style>