Просмотр исходного кода

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

liuhj 1 год назад
Родитель
Сommit
240c2bc2b3

+ 447 - 0
src/components/OP/CarTouristGuideGrounContent.vue

@@ -0,0 +1,447 @@
+<template>
+    <div class="car_add">
+        <div>
+            <div class="communal-title">
+                <div>OP费用填写明细</div>
+            </div>
+        </div>
+        <el-skeleton :rows="28" animated :loading="loading">
+            <div style="display: flex;justify-content: space-between;">
+                <div style="width: 80%;display: flex;">
+                    <div style="width: 25%;">
+                        <el-select v-model="diId" placeholder="团组选择" clearable filterable style="width: 100%;"
+                            :disabled="true">
+                            <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-select v-model="currency" placeholder="币种选择" clearable filterable style="width: 80%;">
+                            <el-option v-for="item in currencyList" :key="item.id"
+                                :label="item.name + '(' + item.remark + ')'" :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </div>
+                </div>
+            </div>
+            <div style="margin:10px 0;color:#606266;font-size:12px;">
+                <span style="font-weight: bold;font-size:12px;">团队名称:</span>
+                <span style="color:#606266;">{{ delegationInfo.teamName }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:12px;">客户:</span>
+                <span style="color:#606266;font-size:12px;">{{ delegationInfo.clientName }}&nbsp;&nbsp;&nbsp; </span>
+                <span style="font-weight: bold;font-size:12px;">出访国家:</span>
+                <span style="color:#606266;font-size:12px;">{{ delegationInfo.visitCountry }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:12px;">起止日期:</span>
+                <span style="color:#606266;font-size:12px;">{{ VisitDate }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:12px;">天数/人数:</span>
+                <span style="color:#606266;font-size:12px;">{{ delegationInfo.visitDays }}天/{{
+                    delegationInfo.visitPNumber }}人</span>
+            </div>
+            <hr style='background-color:#5555; height:1px; border:none;' />
+            <div>
+                <template>
+                    <el-table :data="ContenList" border style="width: 100%">
+                        <el-table-column prop="num" label="序 号" width="55">
+                            <template slot-scope="scope">
+                                {{ scope.$index + 1 }}
+
+                            </template>
+                        </el-table-column>
+                        <el-table-column prop="SIdName" label="费用项目" width="100">
+                            <template slot-scope="scope">
+                                <span style="display: none;">{{ scope.row.sId }}</span>{{ scope.row.sIdName }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="金额币种">
+                            <template slot-scope="scope">
+                                <el-input placeholder="请输入金额" v-model="scope.row.price" clearable style="width:180px;"
+                                    @change="PriceChange" />
+                                <el-select v-model="currency" placeholder="币种选择" clearable filterable style="width:120px"
+                                    :disabled="true">
+                                    <el-option v-for="item in currencyList" :key="item.id" :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="费用明细">
+                            <template slot-scope="scope">
+                                <el-input type="textarea" :rows="1" placeholder="费用明细"
+                                    v-model="scope.row.priceContent"></el-input>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="备注">
+                            <template slot-scope="scope">
+                                <el-input type="textarea" :rows="1" placeholder="备注" v-model="scope.row.remark"></el-input>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <hr style='background-color:#5555; height:1px; border:none;' />
+                    <el-form :model="OPContenData" ref="OPContenData" :rules="OPContenDataRules" label-width="100px"
+                        class="demo-ruleForm">
+                        <div style="display: flex;">
+
+                            <div style="width: 25%;">
+                                <el-form-item label="此次付款百分百:" prop="payPercentage" label-width="160px">
+                                    <el-input placeholder="此次付款百分百" v-model="OPContenData.payPercentage">
+                                        <template slot="append">%</template>
+                                    </el-input>
+                                </el-form-item>
+                            </div>
+                            <div style="width: 25%;">
+                                <el-form-item label="收款方:" prop="payee" label-width="160px">
+                                    <el-input placeholder="联系电话" v-model="OPContenData.payee">
+                                    </el-input>
+                                </el-form-item>
+                            </div>
+                            <div style="width: 25%;">
+                                <el-form-item label="费用表示:" prop="orbitalPrivateTransfer" label-width="160px">
+                                    <el-select v-model="OPContenData.orbitalPrivateTransfer" clearable filterable
+                                        placeholder="费用标识" style="width: 220px;">
+                                        <el-option :key=0 :value="0" label="公转"></el-option>
+                                        <el-option :key=1 :value="1" label="私转"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </div>
+                            <div style="width: 25%;">
+                                <el-form-item label="支付方式:" prop="payDId" label-width="160px">
+                                    <el-select v-model="OPContenData.payDId" placeholder="支付方式" clearable filterable
+                                        style="width:120px">
+                                        <el-option v-for="item in payment" :key="item.id" :label="item.name"
+                                            :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </div>
+                        </div>
+                        <div style="display: flex;">
+
+                            <div style="width: 50%;">
+                                <el-form-item label="总金额:" label-width="160px">
+                                    <el-input placeholder="金额" v-model="countCost" :disabled="true"
+                                        style="width: 120px;"></el-input>
+                                    <el-select v-model="currency" placeholder="币种选择" clearable filterable
+                                        style="width:120px" :disabled="true">
+                                        <el-option v-for="item in currencyList" :key="item.id" :label="item.name"
+                                            :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </div>
+                            <div style="width: 50%;text-align: right;">
+                                <el-form-item>
+                                    <div style="margin-right: 25%;">
+                                        <el-button type="primary" @click="addBtn">保存</el-button>
+                                        <el-button @click="EscAdd">取消</el-button>
+                                    </div>
+                                </el-form-item>
+                            </div>
+
+                        </div>
+
+                    </el-form>
+
+                </template>
+
+            </div>
+        </el-skeleton>
+    </div>
+</template>
+<script>
+import { dE } from '@fullcalendar/core/internal-common'
+export default {
+    data() {
+        return {
+            token: '',
+            userId: 0,
+            id: '',
+            diId: '',
+            loading: true,
+            currency: 836,
+            countCost: 0,
+            delegationInfo: {},
+            delegationInfoList: [],//团组下拉框
+            currencyList: [],
+            tableInitialization: [],
+            payment: [],
+            IsAuditGM: 0,
+            ContenList: [],
+            OPContenData: {
+                diId: '',
+                cTGGRId: '',
+                orbitalPrivateTransfer: 0,
+                payPercentage: '80',
+                payee: '',
+                payDId: '',
+                currency: '',
+                OPContenList: [],
+                CreateUserId: 0
+            },
+            OPContenDataRules: {
+                payPercentage: [
+                    { required: true, message: '请输入付款百分百', trigger: ['blur', 'change'] },
+                ],
+                orbitalPrivateTransfer: [
+                    { required: true, message: '请选择费用标识', trigger: ['blur', 'change'] },
+                ],
+                payee: [
+                    { required: true, message: '请输入收款方', trigger: ['blur', 'change'] },
+                ],
+                payDId: [
+                    { required: true, message: '请选择付款方式', trigger: ['blur', 'change'] },
+                ]
+            },
+            VisitDate: '',
+            dateFormat: function (value) {
+
+                // 将value转换为Date对象
+                var date = new Date(value);
+                // 获取年、月、日
+                var year = date.getFullYear();
+                var month = date.getMonth() + 1;
+                var day = date.getDate();
+                // 将月份和日期转换为两位数的格式
+
+                if (month < 10) {
+                    month = '0' + month;
+                }
+                if (day < 10) {
+                    day = '0' + day;
+                }
+                // 返回格式化后的日期字符串
+                return year + '-' + month + '-' + day;
+            },
+        }
+    },
+    methods: {
+        //初始化下拉框
+        initializeSelect() {
+            //团组下拉框绑定
+            var url = "/api/Groups/CarTouristGuideGroundContenInitialize"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    userId: that.userId,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    that.delegationInfoList = res.data.data.delegations;
+                    for (let index = 0; index < that.delegationInfoList.length; index++) {
+                        debugger
+                        if (that.delegationInfoList[index].id == that.diId) {
+                            that.delegationInfo = that.delegationInfoList[index];
+                            that.VisitDate = that.dateFormat(that.delegationInfo.visitStartDate) + '至' + that.dateFormat(that.delegationInfo.visitEndDate);
+                            break;
+                        }
+                    }
+                    that.currencyList = res.data.data.currencyList;
+                    debugger
+                    that.tableInitialization = res.data.data.tableInitialization;
+                    that.tableInitialization.forEach(function (item) {
+                        that.ContenList.push({
+                            id: 0,
+                            sId: item.id,
+                            sIdName: item.name,
+                            price: '0.00',
+                            priceContent: '',
+                            remark: '',
+                        })
+                    });
+                    that.payment = res.data.data.payment;
+                    that.OpCarTouristGuideGroundContenById()
+                }
+
+            })
+
+        },
+        OpCarTouristGuideGroundContenById() {
+            var url = "/api/Groups/OpCarTouristGuideGroundContenById"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    id: that.id
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    var CreditCardPayment = res.data.data.creditCardPayment;
+                    if (CreditCardPayment != null) {
+                        that.OPContenData.payDId = CreditCardPayment.payDId
+                        that.OPContenData.payee = CreditCardPayment.payee
+                        that.currency = CreditCardPayment.paymentCurrency
+                        that.OPContenData.payPercentage = CreditCardPayment.payPercentage
+                        that.countCost = CreditCardPayment.payMoney
+                    }
+                    var CarTouristsConten = res.data.data.carTouristsConten;
+                    if (CarTouristsConten.length != 0) {
+                        CarTouristsConten.forEach(function (item) {
+                            that.ContenList.forEach(function (item1) {
+                                if (item.sId == item1.sId) {
+                                    item1.id = item.id
+                                    item1.price = item.price
+                                    item1.priceContent = item.priceContent
+                                    item1.remark = item.remark
+                                }
+
+                            })
+                        })
+                    }
+                    var CarTourists = res.data.data.carTourists
+                    if (CarTourists != null) {
+                        that.OPContenData.orbitalPrivateTransfer = CarTourists.orbitalPrivateTransfer
+                    }
+                    that.loading = false
+                }
+            })
+        },
+        addBtn() {
+            if (this.IsAuditGM == 1) {
+                this.$message.error('已通过审核,不可修改!');
+            } else {
+                debugger
+                if (this.diId == null && this.diId == undefined && this.diId == "") {
+                    this.$message.error("请选择团组名称");
+                    return;
+                } else {
+                    var that = this
+                    that.$refs.OPContenData.validate((valid) => {
+                        if (valid) {
+                            that.OPContenData.diId = that.diId
+                            that.OPContenData.cTGGRId = that.id
+                            that.OPContenData.currency = that.currency
+                            that.OPContenData.CreateUserId = that.userId
+                            that.ContenList.forEach(function (item) {
+                                that.OPContenData.OPContenList.push({
+                                    id: item.id,
+                                    sId: item.sId,
+                                    price: item.price,
+                                    priceContent: item.priceContent,
+                                    remark: item.remark,
+                                })
+                            })
+
+                            var url = "/api/Groups/OpCarTouristGuideGroundConten"
+                            that.$axios({
+                                method: 'post',
+                                url: url,
+                                headers: {
+                                    Authorization: 'Bearer ' + that.token
+                                },
+                                data: that.OPContenData
+                            }).then(function (res) {
+                                if (res.data.code == 200) {
+                                    that.$message({
+                                        message: res.data.msg,
+                                        type: 'success'
+                                    });
+                                } else {
+                                    that.$message.error(res.data.msg);
+                                }
+                            })
+                        } else {
+                            this.$message.error('请完善信息在保存!');
+                            return false;
+                        }
+                    })
+                }
+            }
+        },
+        EscAdd() {
+            this.$router.push({
+                path: "/home/CarTouristGuideGroundId",
+                query: {
+                    diId: this.diId
+                }
+            })
+        },
+        PriceChange() {
+            var countCost = 0;
+            this.ContenList.forEach(function (item) {
+                if (item.price != '') {
+                    countCost += parseFloat(item.price)
+                }
+
+            })
+
+            this.countCost = countCost
+        }
+    },
+
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.id = this.$route.query.id
+        this.diId = parseInt(this.$route.query.diId)
+        this.initializeSelect();
+        //this.OpCarTouristGuideGroundContenById();
+
+    }
+}
+</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>

+ 348 - 0
src/components/OP/CarTouristGuideGroundId.vue

@@ -0,0 +1,348 @@
+<template>
+    <div>
+        <div class="communal-list">
+            <div>
+
+                <div class="communal-title">
+                    <div>车导地接费用录入</div>
+                </div>
+                <div style="display: flex;justify-content: space-between;">
+
+                    <div style="width: 80%;display: flex;">
+                        <div style="width: 25%;">
+                            <el-select v-model="DiId" placeholder="团组选择" clearable filterable @change="deleSelectChange"
+                                style="width: 100%;">
+                                <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div style="width: 20%">
+                        <el-button type="primary" style="" @click="addIf">新增</el-button>
+                    </div>
+                </div>
+            </div>
+            <div style="margin:10px 0;color:#606266;">
+                <span style="font-weight: bold;font-size:17px;">团队名称:</span>
+                <span style="color:#606266;">{{ delegationInfo.teamName }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:17px;">客户:</span>
+                <span style="color:#606266;">{{ delegationInfo.clientName }}&nbsp;&nbsp;&nbsp; {{
+}}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:17px;">出访国家:</span>
+                <span style="color:#606266;">{{ delegationInfo.visitCountry }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:17px;">起止日期:</span>
+                <span style="color:#606266;">{{ delegationInfo.visitStartDate }}—{{ delegationInfo.visitEndDate
+                }}&nbsp;&nbsp;&nbsp;</span>
+                <span style="font-weight: bold;font-size:17px;">天数/人数:</span>
+                <span style="color:#606266;">{{ delegationInfo.visitDays }}天/{{ delegationInfo.visitPNumber }}人</span>
+            </div>
+
+            <template>
+                <el-table :data="tableDatas.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border
+                    style="width: 100%" v-loading="loading" element-loading-text="拼命加载中...">
+                    <el-table-column prop="num" label="序 号">
+                        <template slot-scope="scope">
+                            {{ (currentPage - 1) * pageSize + scope.$index + 1 }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="area" label="地区">
+                    </el-table-column>
+                    <el-table-column prop="serviceGuide" label="服务导游">
+                    </el-table-column>
+                    <el-table-column prop="serviceTel" label="导游联系电话">
+                    </el-table-column>
+                    <el-table-column prop="busName" label="Bus名称">
+                    </el-table-column>
+                    <el-table-column prop="busTel" label="Bus联系电话">
+                    </el-table-column>
+                    <el-table-column prop="serviceStartTime" label="服务时间起止">
+                        <template slot-scope="scope">
+                            {{ scope.row.serviceStartTime }}至{{ scope.row.serviceEndTime }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="serviceQuotedPrice" label="服务报价">
+                        <template slot-scope="scope">
+                            {{ scope.row.serviceQuotedPrice }} {{ scope.row.currencyStr }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="payPercentage" label="付款百分比">
+                        <template slot-scope="scope">
+                            {{ scope.row.payPercentage }}%
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="payThenMoney" label="此次付款金额">
+                        <template slot-scope="scope">
+                            {{ scope.row.payThenMoney }} {{ scope.row.currencyStr }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="remainingBalance" label="尾款金额">
+                        <template slot-scope="scope">
+                            {{ scope.row.remainingBalance }} {{ scope.row.currencyStr }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="isAuditGM" label="是否审核">
+                        <template slot-scope="isAuditGM">
+                            <span v-if="isAuditGM.row.isAuditGM == 1">已通过</span>
+                            <span v-else-if="isAuditGM.row.isAuditGM == 0">未审核</span>
+                            <span v-else-if="isAuditGM.row.isAuditGM == 2">未通过</span>
+                            <span v-else>自动审核通过</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="id" label="详细费用">
+                        <template slot-scope="scope">
+                            <a @click="AddDetails(scope.row.id)">点击填写</a>
+                        </template>
+
+                    </el-table-column>
+                    <el-table-column label="操作">
+                        <template slot-scope="scope">
+                            <el-button-group>
+                                <el-button type="primary" size="mini" icon="el-icon-edit"
+                                    @click="upDate(scope.$index, scope.row)"></el-button>
+                                <el-button type="danger" size="mini" icon="el-icon-delete"
+                                    @click="del(scope.$index, scope.row)"></el-button>
+                            </el-button-group>
+                        </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>
+import { el } from '@fullcalendar/core/internal-common';
+export default {
+    data() {
+        return {
+            loading: false,
+            tableDatas: [],
+            tableData: [],
+            currentPage: 1, // 当前页码
+            pageSize: 12,// 每页的数据条数
+            input: '',
+            token: '',
+            userId: 0,
+            DiId: '',
+            VisaSelectList: [],
+            VisaClient: '',
+            delegationInfoList: [],
+            delegationInfo: {},
+        }
+    },
+    methods: {
+        //每页条数改变时触发 选择一页显示多少行
+        handleSizeChange(val) {
+            this.currentPage = 1;
+            this.pageSize = val;
+        },
+        //当前页改变时触发 跳转其他页
+        handleCurrentChange(val) {
+            this.currentPage = val;
+        },
+        //团组下拉框
+        deleSelect() {
+            var url = "/api/Groups/DecreasePaymentsSelect"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    UserId: that.userId,
+                    CTId: 79
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    debugger
+                    that.delegationInfoList = res.data.data.groupName;
+                    that.DiId = that.$route.query.diId
+                    if (that.DiId == undefined) {
+                        that.delegationInfo = that.delegationInfoList[0]
+                        that.DiId = that.delegationInfoList[0].id;
+                    } else {
+                        for (let index = 0; index < that.delegationInfoList.length; index++) {
+                            debugger
+                            if (that.delegationInfoList[index].id == that.DiId) {
+                                that.delegationInfo = that.delegationInfoList[index];
+                                that.DiId = that.delegationInfoList[index].id;
+                                break;
+                            }
+                        }
+                    }
+
+                    that.QueryCarTouristGuideGroundByDiId()
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        deleSelectChange() {
+            if (this.DiId != "") {
+                this.QueryCarTouristGuideGroundByDiId();
+            } else {
+                this.tableDatas = [];
+                this.tableData = [];
+            }
+        },
+        //团组信息绑定
+        QueryCarTouristGuideGroundByDiId() {
+            var url = "/api/Groups/QueryCarTouristGuideGroundByDiId"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    pageIndex: 0,
+                    pageSize: 0,
+                    portType: 1,
+                    diID: that.DiId,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    that.tableDatas = res.data.data;
+                    that.tableData = that.tableDatas
+                    if (that.tableDatas.length != 0) {
+                        if (that.tableDatas.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize).length == 0) {
+                            if (that.currentPage > 1) {
+                                that.currentPage = that.currentPage - 1;
+                            }
+                        }
+                    }
+
+                }
+
+            }).catch(function (error) {
+
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //填写详细费用
+        AddDetails(id) {
+            this.$router.push({
+                path: "/home/CarTouristGuideGrounContent",
+                query: {
+                    id: id,
+                    diId: this.DiId,
+                }
+            })
+
+        },
+        upDate(index, row) {
+            this.$router.push({
+                path: "/home/OpCarTouristGuideGroundId",
+                query: {
+                    DiId: this.DiId,
+                    id: row.id
+                }
+            })
+
+        },
+        addIf() {
+            debugger
+            if (this.DiId != 0 && this.DiId != '' && this.DiId != undefined) {
+                this.$router.push({
+                    path: "/home/OpCarTouristGuideGroundId",
+                    query: {
+                        DiId: this.DiId,
+                    }
+                })
+
+            } else {
+                this.$message('请选择团组在进行添加');
+            }
+        },
+        del(index, row) {
+            this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                var url = "/api/Groups/DelCarTouristGuideGround"
+                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.PostVisaByDiId();
+                    } else {
+                        that.$message.error('删除失败!');
+                    }
+                    that.loading = false
+                }).catch(function (error) {
+                    that.loading = false
+                    that.$message.error("网络错误,请稍后重试");
+                });
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '操作已取消!'
+                });
+            });
+        },
+    },
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+
+        this.deleSelect();
+        //this.AirTicketResList()
+    }
+}
+</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;
+}
+</style>

+ 359 - 270
src/components/OP/Groupedit.vue

@@ -1,49 +1,54 @@
 <template>
-    <div  v-loading="fullscreenLoading">
+    <div v-loading="fullscreenLoading">
         <div class="groupedit">
             <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
                 <div class="required-box">
                     <el-form-item label-width="120px" label="销售报价号:">
-                        <el-input :readonly="true"  el-input v-model="ruleForm.quotenum"></el-input>
+                        <el-input :readonly="true" el-input v-model="ruleForm.quotenum"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="本团成单人:" prop="person">
                         <el-select v-model="ruleForm.person" placeholder="请选择本团成单人     ">
-                            <el-option v-for="(item,index) in personarr" :key="index" :label="item.cnName" :value="item.id"></el-option>
+                            <el-option v-for="(item, index) in personarr" :key="index" :label="item.cnName"
+                                :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label-width="120px" label="客户级别:" prop="grades">
                         <el-select v-model="ruleForm.grades" placeholder="请选择客户级别">
-                            <el-option  v-for="(item,index) in gradearr" :key="index" :label="item.name" :value="item.id"></el-option>
+                            <el-option v-for="(item, index) in gradearr" :key="index" :label="item.name"
+                                :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label-width="120px" label="团组类型:" prop="OP">
                         <el-select class="op-type" v-model="ruleForm.OP" placeholder="请选择团组类型">
-                            <el-option  v-for="(item,index) in OPtype" :key="index" :label="item.name" :value="item.id"></el-option>
+                            <el-option v-for="(item, index) in OPtype" :key="index" :label="item.name"
+                                :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label-width="120px" label="团组名称:" prop="groupname">
-                        <el-input   el-input v-model="ruleForm.groupname"></el-input>
+                        <el-input el-input v-model="ruleForm.groupname"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="客户名称:" prop="customername">
-                        <el-input   el-input v-model="ruleForm.customername"></el-input>
+                        <el-input el-input v-model="ruleForm.customername"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="客户单位:" prop="customerunits">
-                        <el-input   el-input v-model="ruleForm.customerunits"></el-input>
+                        <el-input el-input v-model="ruleForm.customerunits"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="出访国家:" prop="countriesvisited">
-                        <el-input   el-input v-model="ruleForm.countriesvisited"></el-input>
+                        <el-input el-input v-model="ruleForm.countriesvisited"></el-input>
                     </el-form-item>
-                    <el-form-item  label-width="120px" label="出访时间:" prop="visitingtime">
-                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.visitingtime" style="width: 100%;"></el-date-picker>
+                    <el-form-item label-width="120px" label="出访时间:" prop="visitingtime">
+                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.visitingtime"
+                            style="width: 100%;"></el-date-picker>
                     </el-form-item>
                     <el-form-item label-width="120px" label="出访天数:" prop="numdays">
-                        <el-input   el-input v-model="ruleForm.numdays"></el-input>
+                        <el-input el-input v-model="ruleForm.numdays"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="出访人数:" prop="numperson">
-                        <el-input   el-input v-model="ruleForm.numperson"></el-input>
+                        <el-input el-input v-model="ruleForm.numperson"></el-input>
                     </el-form-item>
-                    <el-form-item  label-width="120px" label="合同时间:" prop="contracttime">
-                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.contracttime" style="width: 100%;"></el-date-picker>
+                    <el-form-item label-width="120px" label="合同时间:" prop="contracttime">
+                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.contracttime"
+                            style="width: 100%;"></el-date-picker>
                     </el-form-item>
                 </div>
                 <div class="advance-box">
@@ -51,33 +56,49 @@
                         <el-input style="width: 100px;" el-input v-model="ruleForm.occasion"></el-input>
                     </el-form-item>
                     <el-form-item label-width="98px" label="日支付款项:" prop="payments">
-                        <el-input   el-input v-model="ruleForm.payments"></el-input>
+                        <el-input el-input v-model="ruleForm.payments"></el-input>
                     </el-form-item>
-                    <span style="margin-bottom: 22px;display: inline-block;color: #606266;font-size: 14px;">(预付款,请输入RMB)</span>
+                    <span
+                        style="margin-bottom: 22px;display: inline-block;color: #606266;font-size: 14px;">(预付款,请输入RMB)</span>
+                </div>
+                <div style="display: flex;">
+                    <el-form-item label-width="120px" label="OP提成等级" prop="opRoyaltyLv">
+                        <el-select v-model="ruleForm.opRoyaltyLv" placeholder="OP提成等级" clearable filterable
+                            style="width: 100%;">
+                            <el-option v-for="item in opRoyaltyLvList" :key="item.id" :label="item.name + '元'"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label-width="98px" label="等级说明:" prop="opRoyaltyRemark">
+                        <el-input type="textarea" v-model="ruleForm.opRoyaltyRemark" style="width: 500px;"></el-input>
+                    </el-form-item>
+                    <span style="margin-bottom: 22px;display: inline-block;color: #606266;font-size: 14px;"
+                        @click="dialogVisible = true">(点击查看等级说明)</span>
                 </div>
                 <el-form>
                     <el-form-item label-width="120px" label="出访目的:">
                         <el-input type="textarea" v-model="ruleForm.purposevisit"></el-input>
-                      </el-form-item>
-                      <el-form-item label-width="120px" label="特殊需求:">
-                          <el-input type="textarea" v-model="ruleForm.specialneeds"></el-input>
-                      </el-form-item>
-                      <el-form-item label-width="120px" label="其他需求:">
-                          <el-input type="textarea" v-model="ruleForm.otherneeds"></el-input>
-                      </el-form-item>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="特殊需求:">
+                        <el-input type="textarea" v-model="ruleForm.specialneeds"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="其他需求:">
+                        <el-input type="textarea" v-model="ruleForm.otherneeds"></el-input>
+                    </el-form-item>
                 </el-form>
                 <el-form class="approval-box">
                     <el-form-item label-width="160px" label="出国任务审批部门名称:">
-                        <el-input  el-input v-model="ruleForm.approvalname"></el-input>
+                        <el-input el-input v-model="ruleForm.approvalname"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="批件文号:">
-                        <el-input   el-input v-model="ruleForm.approvalnumber1"></el-input>
+                        <el-input el-input v-model="ruleForm.approvalnumber1"></el-input>
                     </el-form-item>
                     <el-form-item label-width="130px" label="政治审查部门名称:">
-                        <el-input   el-input v-model="ruleForm.censorshipdepartment"></el-input>
+                        <el-input el-input v-model="ruleForm.censorshipdepartment"></el-input>
                     </el-form-item>
                     <el-form-item label-width="120px" label="批件文号:">
-                        <el-input   el-input v-model="ruleForm.approvalnumber2"></el-input>
+                        <el-input el-input v-model="ruleForm.approvalnumber2"></el-input>
                     </el-form-item>
                 </el-form>
                 <el-form>
@@ -93,8 +114,38 @@
                     <el-button @click="resetForm('ruleForm')">重 置</el-button>
                     <el-button @click="clickback()">返 回</el-button>
                 </el-form-item>
-              </el-form>
+            </el-form>
         </div>
+        <el-dialog title="等级说明" :visible.sync="dialogVisible" width="30%" :before-close="handleClose"
+            :close-on-click-modal="false">
+            <span>
+                1)普通团组:¥300/团;<br><br>
+
+                2)VIP团(地市州书记 市长 成都副市级别 副书记级别 成都正厅级干部):¥500/团;<br><br>
+
+                3)VVIP团(四川省副部级 副省级 省长 ):¥1000/团;<br><br>
+
+                4)非全程接待或非标准团组,接待5天内(含5天)的团组:¥100/团;<br><br>
+
+                5)非全程接待或非标准团组,但负责全程机票,接待5天以上的团组:¥200/团;<br><br>
+
+                6)非全程接待或非标准团组且不负责全程机票,接待5天以上的团组:¥100/团<br><br>
+
+                7)非全程接待或非标准团组且不负责全程机票,只负责地接的,人数为10人以上的的团组:300/团;<br><br>
+
+                8)人数为5人以内(含5人)的标准团组:¥200/团;<br><br>
+
+                9)人数为5人以内(含5人)并且非全程接待5天内(含5天)的团组:¥100/团;<br><br>
+
+                10)人数为5人以内(含5人),非全程接待5天以上并且负责全程机票的团组:¥200/团;<br><br>
+
+                11)人数为5人以内(含5人)并且非全程接待5天以上,但不负责全程机票的团组:¥100.00/团;<br><br>
+            </span>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogVisible = false">取 消</el-button>
+                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 
@@ -103,95 +154,105 @@ import { el } from '@fullcalendar/core/internal-common';
 import { all } from 'q';
 export default {
     data() {
-      return {
-        editid:'',
-        token:'',
-        userid:'',
-        ruleForm: {
-          quotenum:'',
-          groupname: '',
-          customername: '',
-          customerunits:'',
-          countriesvisited:'',
-          visitingtime:'',
-          contracttime:'',
-          numdays:'',
-          numperson:'',
-          occasion:'',
-          payments:'',
-          purposevisit: '',
-          specialneeds:'',
-          otherneeds:'',
-          approvalname:'',
-          approvalnumber1:'',
-          approvalnumber2:'',
-          censorshipdepartment:'',
-          remark:'',
-          phonenumber:'',
-          OP:'',
-          grades:'',
-          person:''
-        },
-        personarr:[],
-        gradearr:[],
-        OPtype:[],
-        rules: {
-          groupname: [
-            { required: true, message: '请输入团组名称', trigger: 'blur' },
-          ],
-          customername: [
-            { required: true, message: '请输入客户名称', trigger: 'blur' },
-          ],
-          customerunits:[
-            { required: true, message: '请输入客户单位', trigger: 'blur' },
-          ],
-          countriesvisited:[
-            { required: true, message: '请输入出访国家', trigger: 'blur' },
-          ],
-          person: [
-            { required: true, message: '请选择成团人', trigger: 'change' }
-          ],
-          grades:[
-            { required: true, message: '请选择级别', trigger: 'change' }
-          ],
-          OP:[
-            { required: true, message: '请选择类型', trigger: 'change' }
-          ],
-          visitingtime: [
-            { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
-          ],
-          contracttime: [
-            { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
-          ],
-          numdays:[
-            { required: true, message: '请输入出访天数', trigger: 'blur' },
-            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
-          ],
-          numperson:[
-            { required: true, message: '请输入出访人数', trigger: 'blur' },
-            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
-          ],
-          occasion:[
-            { required: true, message: '请输入出天数', trigger: 'blur' },
-            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
-          ],
-          payments:[
-            { required: true, message: '请输入出款额', trigger: 'blur' },
-            {pattern:"^\\d+(\\.\\d+)?$",message: "请输入正浮点数或整数",trigger: "blur"}
-          ]
-        },
-        fullscreenLoading:false
-      };
+        return {
+            editid: '',
+            token: '',
+            userid: '',
+            ruleForm: {
+                quotenum: '',
+                groupname: '',
+                customername: '',
+                customerunits: '',
+                countriesvisited: '',
+                visitingtime: '',
+                contracttime: '',
+                numdays: '',
+                numperson: '',
+                occasion: '',
+                payments: '',
+                purposevisit: '',
+                specialneeds: '',
+                otherneeds: '',
+                approvalname: '',
+                approvalnumber1: '',
+                approvalnumber2: '',
+                censorshipdepartment: '',
+                remark: '',
+                phonenumber: '',
+                OP: '',
+                grades: '',
+                person: '',
+                opRoyaltyLv: '',
+                opRoyaltyRemark: ''
+            },
+            personarr: [],
+            gradearr: [],
+            OPtype: [],
+            rules: {
+                groupname: [
+                    { required: true, message: '请输入团组名称', trigger: 'blur' },
+                ],
+                customername: [
+                    { required: true, message: '请输入客户名称', trigger: 'blur' },
+                ],
+                customerunits: [
+                    { required: true, message: '请输入客户单位', trigger: 'blur' },
+                ],
+                countriesvisited: [
+                    { required: true, message: '请输入出访国家', trigger: 'blur' },
+                ],
+                person: [
+                    { required: true, message: '请选择成团人', trigger: 'change' }
+                ],
+                grades: [
+                    { required: true, message: '请选择级别', trigger: 'change' }
+                ],
+                OP: [
+                    { required: true, message: '请选择类型', trigger: 'change' }
+                ],
+                visitingtime: [
+                    { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
+                ],
+                contracttime: [
+                    { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
+                ],
+                numdays: [
+                    { required: true, message: '请输入出访天数', trigger: 'blur' },
+                    { pattern: "^\\d+$", message: "请输入正整数", trigger: "blur" }
+                ],
+                numperson: [
+                    { required: true, message: '请输入出访人数', trigger: 'blur' },
+                    { pattern: "^\\d+$", message: "请输入正整数", trigger: "blur" }
+                ],
+                occasion: [
+                    { required: true, message: '请输入出天数', trigger: 'blur' },
+                    { pattern: "^\\d+$", message: "请输入正整数", trigger: "blur" }
+                ],
+                payments: [
+                    { required: true, message: '请输入出款额', trigger: 'blur' },
+                    { pattern: "^\\d+(\\.\\d+)?$", message: "请输入正浮点数或整数", trigger: "blur" }
+                ],
+                opRoyaltyLv: [
+                    { required: true, message: '请选择op提成等级', trigger: 'change' }
+                ],
+                opRoyaltyRemark: [
+                    { required: true, message: '请填写等级描述', trigger: 'change' }
+                ],
+            },
+            fullscreenLoading: false,
+            dialogVisible: false,
+            opRoyaltyLvList: [],
+        };
     },
     methods: {
         submitForm(formName) {
             this.$refs[formName].validate((valid) => {
-            if (valid) {
-                this.addGroupInfo()
-            } else {
-                console.log('error submit!!');
-                return false;
-            }
+                if (valid) {
+                    this.addGroupInfo()
+                } else {
+                    console.log('error submit!!');
+                    return false;
+                }
             });
         },
         //清空
@@ -199,53 +260,69 @@ export default {
             this.$refs[formName].resetFields();
         },
         //返回
-        clickback(){
+        clickback() {
             this.$router.go(-1);
         },
         //获取下拉列表
-        getdown(){
-            var url="/api/Groups/GroupEditBasicSource"
-            var that=this
+        getdown() {
+            var url = "/api/Groups/GroupEditBasicSource"
+            var that = this
             this.$axios({
                 method: 'post',
-                url:url,
-                headers:{
-                    Authorization:'Bearer '+this.token
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
                 },
-                data:{
+                data: {
                     portType: 1,
                 }
-            }).then(function(res){
-                if(res.data.code==200){
-                    that.personarr=res.data.data.userData;
-                    that.gradearr=res.data.data.teamLevData;
-                    that.OPtype=res.data.data.teamTypeData;
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.personarr = res.data.data.userData;
+                    that.gradearr = res.data.data.teamLevData;
+                    that.OPtype = res.data.data.teamTypeData;
+                }
+            })
+            var url = "/api/System/QuerySetData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    dataType: 70,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.opRoyaltyLvList = res.data.data;
                 }
             })
         },
         //新增获取销售号
-        getSalesQuoteNo(){
-            if(this.editid==undefined){
-                var url="/api/Groups/GetGroupSalesQuoteNo"
-                var that=this
-                if(this.editid==undefined){
+        getSalesQuoteNo() {
+            if (this.editid == undefined) {
+                var url = "/api/Groups/GetGroupSalesQuoteNo"
+                var that = this
+                if (this.editid == undefined) {
                     this.$axios({
                         method: 'post',
-                        url:url,
-                        headers:{
-                            Authorization:'Bearer '+this.token
+                        url: url,
+                        headers: {
+                            Authorization: 'Bearer ' + this.token
                         },
-                    }).then(function(res){
-                        if(res.data.code==200){
-                            that.ruleForm.quotenum=res.data.data.salesQuoteNo;
+                    }).then(function (res) {
+                        if (res.data.code == 200) {
+                            that.ruleForm.quotenum = res.data.data.salesQuoteNo;
                         }
                     })
                 }
             }
-            
+
         },
         //处理时间
-        disposeTime(val){
+        disposeTime(val) {
             var date = new Date(val);
             var y = date.getFullYear();
             var m = date.getMonth() + 1;
@@ -256,123 +333,128 @@ export default {
             return time
         },
         //编辑获取原数据
-        getGroupInfo(){
-            var url="/api/Groups/GetGroupInfo"
-            var that=this
+        getGroupInfo() {
+            var url = "/api/Groups/GetGroupInfo"
+            var that = this
             var datagroup
-            if(this.editid!=undefined){
+            if (this.editid != undefined) {
                 this.$axios({
                     method: 'post',
-                    url:url,
-                    headers:{
-                        Authorization:'Bearer '+this.token
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
                     },
-                    data:{
-                        portType:1,
-                        id:that.editid
+                    data: {
+                        portType: 1,
+                        id: that.editid
                     }
-                }).then(function(res){
-                    if(res.data.code==200){
-                        datagroup=res.data.data;
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        datagroup = res.data.data;
                         console.log(datagroup)
-                        that.ruleForm.quotenum=datagroup.salesQuoteNo;
-                        that.ruleForm.groupname=datagroup.teamName;
-                        that.ruleForm.customername=datagroup.clientName;
-                        that.ruleForm.customerunits=datagroup.clientUnit;
-                        that.ruleForm.countriesvisited=datagroup.visitCountry.replaceAll("|","、");
-                        that.ruleForm.visitingtime=new Date(datagroup.visitDate.split(' ')[0]);
-                        that.ruleForm.numdays=datagroup.visitDays+"";
-                        that.ruleForm.numperson=datagroup.visitPNumber+"";
-                        that.ruleForm.contracttime=new Date(datagroup.tontractTime.split(' ')[0]);
-                        that.ruleForm.payments=datagroup.paymentMoney+'';
-                        that.ruleForm.occasion=datagroup.payDay+'';
-                        that.ruleForm.purposevisit=datagroup.visitPurpose;
-                        that.ruleForm.specialneeds=datagroup.specialNeeds;
-                        that.ruleForm.otherneeds=datagroup.otherNeeds;
-                        that.ruleForm.approvalname=datagroup.cgrwspbmmc;
-                        that.ruleForm.approvalnumber1=datagroup.cgrwspwh;
-                        that.ruleForm.censorshipdepartment=datagroup.zzscbmmc;
-                        that.ruleForm.approvalnumber2=datagroup.zzscspwh;
-                        that.ruleForm.remark=datagroup.remark;
-                        that.ruleForm.phonenumber=datagroup.tellPhone;
-                        that.ruleForm.OP=datagroup.teamDid;
-                        that.ruleForm.grades=datagroup.teamLevSId;
-                        that.ruleForm.person=datagroup.jietuanOperator;
+                        that.ruleForm.quotenum = datagroup.salesQuoteNo;
+                        that.ruleForm.groupname = datagroup.teamName;
+                        that.ruleForm.customername = datagroup.clientName;
+                        that.ruleForm.customerunits = datagroup.clientUnit;
+                        that.ruleForm.countriesvisited = datagroup.visitCountry.replaceAll("|", "、");
+                        that.ruleForm.visitingtime = new Date(datagroup.visitDate.split(' ')[0]);
+                        that.ruleForm.numdays = datagroup.visitDays + "";
+                        that.ruleForm.numperson = datagroup.visitPNumber + "";
+                        that.ruleForm.contracttime = new Date(datagroup.tontractTime.split(' ')[0]);
+                        that.ruleForm.payments = datagroup.paymentMoney + '';
+                        that.ruleForm.occasion = datagroup.payDay + '';
+                        that.ruleForm.purposevisit = datagroup.visitPurpose;
+                        that.ruleForm.specialneeds = datagroup.specialNeeds;
+                        that.ruleForm.otherneeds = datagroup.otherNeeds;
+                        that.ruleForm.approvalname = datagroup.cgrwspbmmc;
+                        that.ruleForm.approvalnumber1 = datagroup.cgrwspwh;
+                        that.ruleForm.censorshipdepartment = datagroup.zzscbmmc;
+                        that.ruleForm.approvalnumber2 = datagroup.zzscspwh;
+                        that.ruleForm.remark = datagroup.remark;
+                        that.ruleForm.phonenumber = datagroup.tellPhone;
+                        that.ruleForm.OP = datagroup.teamDid;
+                        that.ruleForm.grades = datagroup.teamLevSId;
+                        that.ruleForm.person = datagroup.jietuanOperator;
+                        debugger
+                        that.ruleForm.opRoyaltyLv = parseInt(datagroup.opRoyaltyLv);
+                        that.ruleForm.opRoyaltyRemark = datagroup.opRoyaltyRemark;
                     }
                 })
             }
         },
         //新增编辑
-        addGroupInfo(){
-            var url="/api/Groups/GroupOperation";
-            var that=this;
+        addGroupInfo() {
+            var url = "/api/Groups/GroupOperation";
+            var that = this;
             that.fullscreenLoading = true;
             var status
-            if(this.editid!=undefined){
-                status=2
-            }else{
-                status=1
+            if (this.editid != undefined) {
+                status = 2
+            } else {
+                status = 1
             }
             this.$axios({
-                    method: 'post',
-                    url:url,
-                    headers:{
-                        Authorization:'Bearer '+this.token
-                    },
-                    data:{
-                        portType:1,
-                        status:status,//添加1//修改2//删除3
-                        id:that.editid,
-                        userId:that.userid,
-                        salesQuoteNo:that.ruleForm.quotenum,
-                        jietuanOperator:parseInt(that.ruleForm.person),//
-                        teamLevSId:parseInt(that.ruleForm.grades),//
-                        teamDid:parseInt(that.ruleForm.OP),//
-                        teamName:that.ruleForm.groupname,
-                        clientName:that.ruleForm.customername,
-                        clientUnit:that.ruleForm.customerunits,
-                        visitCountry:that.ruleForm.countriesvisited.replaceAll("、","|"),
-                        visitDate:that.disposeTime(that.ruleForm.visitingtime),
-                        visitDays:parseInt(that.ruleForm.numdays),
-                        visitPNumber:parseInt(that.ruleForm.numperson),
-                        tontractTime:that.disposeTime(that.ruleForm.contracttime),
-                        payDay:parseInt(that.ruleForm.occasion),
-                        paymentMoney:parseInt(that.ruleForm.payments),
-                        visitPurpose:that.ruleForm.purposevisit,
-                        specialNeeds:that.ruleForm.specialneeds,
-                        otherNeeds:that.ruleForm.otherneeds,
-                        cgrwspbmmc:that.ruleForm.approvalname,
-                        cgrwspwh:that.ruleForm.approvalnumber1,
-                        zzscbmmc:that.ruleForm.censorshipdepartment,
-                        zzscspwh:that.ruleForm.approvalnumber2,
-                        tellPhone:that.ruleForm.phonenumber,
-                        remark:that.ruleForm.remark,
-                    }
-                }).then(function(res){
-                    console.log(res)
-                    if(res.data.code==200){
-                        that.$message({
-                            message: res.data.msg,
-                            type: 'success',
-                            offset:50
-                        });
-                        that.fullscreenLoading = false;
-                        that.$router.go(-1);
-                    }else{
-                        that.$message({
-                            message:res.data.msg,
-                            type: 'warning',
-                            offset:50
-                        });
-                        that.fullscreenLoading = false;
-                    }
-                })
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                    status: status,//添加1//修改2//删除3
+                    id: that.editid,
+                    userId: that.userid,
+                    salesQuoteNo: that.ruleForm.quotenum,
+                    jietuanOperator: parseInt(that.ruleForm.person),//
+                    teamLevSId: parseInt(that.ruleForm.grades),//
+                    teamDid: parseInt(that.ruleForm.OP),//
+                    teamName: that.ruleForm.groupname,
+                    clientName: that.ruleForm.customername,
+                    clientUnit: that.ruleForm.customerunits,
+                    visitCountry: that.ruleForm.countriesvisited.replaceAll("、", "|"),
+                    visitDate: that.disposeTime(that.ruleForm.visitingtime),
+                    visitDays: parseInt(that.ruleForm.numdays),
+                    visitPNumber: parseInt(that.ruleForm.numperson),
+                    tontractTime: that.disposeTime(that.ruleForm.contracttime),
+                    payDay: parseInt(that.ruleForm.occasion),
+                    paymentMoney: parseInt(that.ruleForm.payments),
+                    visitPurpose: that.ruleForm.purposevisit,
+                    specialNeeds: that.ruleForm.specialneeds,
+                    otherNeeds: that.ruleForm.otherneeds,
+                    cgrwspbmmc: that.ruleForm.approvalname,
+                    cgrwspwh: that.ruleForm.approvalnumber1,
+                    zzscbmmc: that.ruleForm.censorshipdepartment,
+                    zzscspwh: that.ruleForm.approvalnumber2,
+                    tellPhone: that.ruleForm.phonenumber,
+                    remark: that.ruleForm.remark,
+                    opRoyaltyLv: that.ruleForm.opRoyaltyLv,
+                    opRoyaltyRemark: that.ruleForm.opRoyaltyRemark,
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    that.$message({
+                        message: res.data.msg,
+                        type: 'success',
+                        offset: 50
+                    });
+                    that.fullscreenLoading = false;
+                    that.$router.go(-1);
+                } else {
+                    that.$message({
+                        message: res.data.msg,
+                        type: 'warning',
+                        offset: 50
+                    });
+                    that.fullscreenLoading = false;
+                }
+            })
         }
     },
-    mounted(){
-        this.editid=this.$route.query.id;
-        this.token=JSON.parse(localStorage.getItem('userinif')).token;
-        this.userid=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+    mounted() {
+        this.editid = this.$route.query.id;
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userid = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
         this.getSalesQuoteNo();
         this.getdown();
         this.getGroupInfo();
@@ -380,34 +462,41 @@ export default {
 }
 </script>
 <style>
-    .groupedit{
-        background-color: #fff;
-        border-radius: 10px;
-        padding: 20px;
-    }
-    .required-box{
-        display: flex;
-        flex-wrap: wrap;
-        justify-content: space-between;
-    }
-    .required-box>div{
-        width: 30%;
-    }
-    .required-box .el-select{
-        width: 100%;
-    }
-    .approval-box{
-        display: flex;
-        justify-content: space-between;
-    }
-    .approval-box>div{
-        width: 23%;
-    }
-    .approval-box>div:nth-child(1){
-        width: 30%;
-    }
-    .advance-box{
-        display: flex;
-        align-items: center;
-    }
+.groupedit {
+    background-color: #fff;
+    border-radius: 10px;
+    padding: 20px;
+}
+
+.required-box {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+}
+
+.required-box>div {
+    width: 30%;
+}
+
+.required-box .el-select {
+    width: 100%;
+}
+
+.approval-box {
+    display: flex;
+    justify-content: space-between;
+}
+
+.approval-box>div {
+    width: 23%;
+}
+
+.approval-box>div:nth-child(1) {
+    width: 30%;
+}
+
+.advance-box {
+    display: flex;
+    align-items: center;
+}
 </style>>

+ 435 - 0
src/components/OP/OpCarTouristGuideGroundId.vue

@@ -0,0 +1,435 @@
+<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="delegationInfo" label-width="100px" class="demo-ruleForm">
+                <div style="display: flex;">
+                    <div style="width: 25%;">
+                        <el-form-item label="团组名称:" label-width="160px">
+                            <el-select v-model="OpCarTouristGuideGroundData.diId" clearable filterable placeholder="团组选择"
+                                :disabled="isShow" style="width: 220px;" @change="DiIdSelectChange">
+                                <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="团 号:" prop="tourCode" label-width="160px">
+                            <el-input placeholder="团号" v-model="delegationInfo.tourCode" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="客户:" prop="clientName" label-width="160px">
+                            <el-input placeholder="客户" v-model="delegationInfo.clientName" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
+                            <el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 25%;">
+                        <el-form-item label="出访时间:" label-width="160px">
+                            <el-input placeholder="出访时间" v-model="VisitDate" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="出访人数:" label-width="160px">
+                            <el-input placeholder="出访人数" v-model="delegationInfo.visitPNumber" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="出访天数:" label-width="160px">
+                            <el-input placeholder="出访天数" v-model="delegationInfo.visitDays" :disabled="true">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+            </el-form>
+            <el-form :model="OpCarTouristGuideGroundData" ref="OpCarTouristGuideGroundData"
+                :rules="OpCarTouristGuideGroundDataRules" label-width="100px" class="demo-ruleForm">
+                <div style="display: flex;">
+                    <div style="width: 25%;">
+                        <el-form-item label="地区:" prop="area" label-width="160px">
+                            <el-input placeholder="地区" v-model="OpCarTouristGuideGroundData.area">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="服务时间起:" prop="serviceStartTime" label-width="160px">
+                            <el-date-picker v-model="OpCarTouristGuideGroundData.serviceStartTime" type="date"
+                                value-format="yyyy-MM-dd" placeholder="服务时间起">
+                            </el-date-picker>
+
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="服务时间止:" prop="serviceEndTime" label-width="160px">
+                            <el-date-picker v-model="OpCarTouristGuideGroundData.serviceEndTime" type="date"
+                                value-format="yyyy-MM-dd" placeholder="服务时间止">
+                            </el-date-picker>
+
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="服务公司:" prop="serviceCompany" label-width="160px">
+                            <el-input placeholder="服务公司" v-model="OpCarTouristGuideGroundData.serviceCompany">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 25%;">
+                        <el-form-item label="地接导游:" prop="serviceGuide" label-width="160px">
+                            <el-input placeholder="地接导游" v-model="OpCarTouristGuideGroundData.serviceGuide">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="联系电话:" prop="serviceTel" label-width="160px">
+                            <el-input placeholder="联系电话" v-model="OpCarTouristGuideGroundData.serviceTel">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="Bus名称:" prop="busName" label-width="160px">
+                            <el-input placeholder="Bus名称" v-model="OpCarTouristGuideGroundData.busName">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 25%;">
+                        <el-form-item label="联系电话:" prop="busTel" label-width="160px">
+                            <el-input placeholder="联系电话" v-model="OpCarTouristGuideGroundData.busTel">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 25%;">
+                        <el-form-item label="费用表示:" prop="orbitalPrivateTransfer" label-width="160px">
+                            <el-select v-model="OpCarTouristGuideGroundData.orbitalPrivateTransfer" clearable filterable
+                                placeholder="费用标识" style="width: 220px;">
+                                <el-option :key=0 :value="0" label="公转"></el-option>
+                                <el-option :key=1 :value="1" label="私转"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 100%;">
+                        <el-form-item label="Bus描述:" prop="busDescription" label-width="160px">
+                            <el-input type="textarea" :rows="2" placeholder="Bus描述"
+                                v-model="OpCarTouristGuideGroundData.busDescription"></el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 100%;">
+                        <el-form-item label="服务描述:" prop="serviceDescription" label-width="160px">
+                            <el-input type="textarea" :rows="2" placeholder="服务描述"
+                                v-model="OpCarTouristGuideGroundData.serviceDescription"></el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 100%;">
+                        <el-form-item label="备 注:" prop="remark" label-width="160px">
+                            <el-input type="textarea" :rows="5" placeholder="备注"
+                                v-model="OpCarTouristGuideGroundData.remark"></el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <el-form-item>
+                    <div style="margin-left: 60%;">
+                        <el-button type="primary" @click="addBtn">保存</el-button>
+                        <el-button @click="EscAdd">取消</el-button>
+                    </div>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+</template>
+<script>
+import { dE } from '@fullcalendar/core/internal-common';
+export default {
+    data() {
+        return {
+            title: "新增Op费用",
+            token: '',
+            userId: 0,
+            isShow: false,
+            delegationInfo: {},
+            delegationInfoList: [],//团组下拉框
+            OpCarTouristGuideGroundData: {
+                status: 0,
+                id: 0,
+                diId: 0,
+                area: '',
+                serviceCompany: '',
+                serviceGuide: '',
+                serviceTel: '',
+                busName: '',
+                busDescription: '',
+                busTel: '',
+                serviceStartTime: '',
+                serviceEndTime: '',
+                serviceDescription: '',
+                orbitalPrivateTransfer: 0,
+                createUserId: 0,
+                remark: ''
+            },
+            IsAuditGM: 0,
+            VisitDate: '',
+            dateFormat: function (value) {
+
+                // 将value转换为Date对象
+                var date = new Date(value);
+                // 获取年、月、日
+                var year = date.getFullYear();
+                var month = date.getMonth() + 1;
+                var day = date.getDate();
+                // 将月份和日期转换为两位数的格式
+
+                if (month < 10) {
+                    month = '0' + month;
+                }
+                if (day < 10) {
+                    day = '0' + day;
+                }
+                // 返回格式化后的日期字符串
+                return year + '-' + month + '-' + day;
+            },
+            OpCarTouristGuideGroundDataRules: {
+                area: [
+                    { required: true, message: '请输入地区', trigger: ['blur', 'change'] },
+                ],
+                serviceCompany: { required: true, message: '请输入服务公司', trigger: ['blur', 'change'] },
+                serviceGuide: { required: true, message: '请输入服务导游', trigger: ['blur', 'change'] },
+                serviceTel: { required: true, message: '请输入导游地接联系电话', trigger: ['blur', 'change'] },
+                busName: { required: true, message: '请输入Bus名称', trigger: ['blur', 'change'] },
+                busTel: { required: true, message: '请输入车公司联系电话', trigger: ['blur', 'change'] },
+                serviceStartTime: { required: true, message: '请输入服务时间起', trigger: ['blur', 'change'] },
+                serviceEndTime: { required: true, message: '请输入服务时间止', trigger: ['blur', 'change'] },
+                orbitalPrivateTransfer: { required: true, message: '请输选择费用表示', trigger: ['blur', 'change'] },
+            }
+        }
+    },
+    methods: {
+        //初始化下拉框
+        initializeSelect() {
+            //团组下拉框绑定
+            var url = "/api/Groups/DecreasePaymentsSelect"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    userId: that.userId,
+                    ctId: 79
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    that.delegationInfoList = res.data.data.groupName;
+                    for (let index = 0; index < that.delegationInfoList.length; index++) {
+                        debugger
+                        if (that.delegationInfoList[index].id == that.OpCarTouristGuideGroundData.diId) {
+                            that.delegationInfo = that.delegationInfoList[index];
+                            that.VisitDate = that.dateFormat(that.delegationInfo.visitStartDate) + '至' + that.dateFormat(that.delegationInfo.visitEndDate);
+                            break;
+                        }
+                    }
+                }
+            })
+        },
+        DiIdSelectChange() {
+            var that = this;
+            for (let index = 0; index < that.delegationInfoList.length; index++) {
+                if (that.delegationInfoList[index].id == that.OpCarTouristGuideGroundData.diId) {
+                    that.delegationInfo = that.delegationInfoList[index];
+
+                    that.VisitDate = that.dateFormat(that.delegationInfo.visitStartDate) + '至' + that.dateFormat(that.delegationInfo.visitEndDate);
+                    break;
+                }
+            }
+        },
+        //根据Id获取单挑数据及C表数据
+        QueryCarTouristGuideGroundById() {
+            var url = "/api/Groups/QueryCarTouristGuideGroundById"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    id: that.OpCarTouristGuideGroundData.id
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    var CreditCardPayment = res.data.data.creditCardPayment;
+                    var carTouristGuideGround = res.data.data.carTouristGuideGround;
+                    if (CreditCardPayment != null) {
+                        that.IsAuditGM = CreditCardPayment.isAuditGM;
+                    }
+
+                    that.OpCarTouristGuideGroundData.area = carTouristGuideGround.area
+                    that.OpCarTouristGuideGroundData.serviceCompany = carTouristGuideGround.serviceCompany
+                    that.OpCarTouristGuideGroundData.serviceGuide = carTouristGuideGround.serviceGuide
+                    that.OpCarTouristGuideGroundData.serviceTel = carTouristGuideGround.serviceTel
+                    that.OpCarTouristGuideGroundData.busName = carTouristGuideGround.busName
+                    that.OpCarTouristGuideGroundData.busDescription = carTouristGuideGround.busDescription
+                    that.OpCarTouristGuideGroundData.busTel = carTouristGuideGround.busTel
+                    that.OpCarTouristGuideGroundData.serviceStartTime = carTouristGuideGround.serviceStartTime
+                    that.OpCarTouristGuideGroundData.serviceEndTime = carTouristGuideGround.serviceEndTime
+                    that.OpCarTouristGuideGroundData.serviceDescription = carTouristGuideGround.serviceDescription
+                    that.OpCarTouristGuideGroundData.orbitalPrivateTransfer = carTouristGuideGround.orbitalPrivateTransfer
+                    that.OpCarTouristGuideGroundData.remark = carTouristGuideGround.remark
+                }
+            })
+        },
+        addBtn() {
+            if (this.IsAuditGM == 1) {
+                this.$message.error('已通过审核,不可修改!');
+            } else {
+                if (this.OpCarTouristGuideGroundData.diId == null && this.OpCarTouristGuideGroundData.diId == undefined && this.OpCarTouristGuideGroundData.diId == "") {
+                    this.$message.error("请选择团组名称");
+                    return;
+                } else {
+                    const that = this;
+                    that.$refs.OpCarTouristGuideGroundData.validate((valid) => {
+                        if (valid) {
+                            var url = "/api/Groups/OpCarTouristGuideGround"
+                            that.$axios({
+                                method: 'post',
+                                url: url,
+                                headers: {
+                                    Authorization: 'Bearer ' + that.token
+                                },
+                                data: that.OpCarTouristGuideGroundData
+                            }).then(function (res) {
+                                if (res.data.code == 200) {
+                                    that.$message({
+                                        message: res.data.msg,
+                                        type: 'success'
+                                    });
+                                    setTimeout(() => {
+                                        that.$router.push('/home/CarTouristGuideGroundId')
+                                    }, 3000);
+                                } else {
+                                    that.$message.error(res.data.msg);
+                                }
+                            })
+                        } else {
+                            this.$message.error('请完善信息在保存!');
+                            return false;
+                        }
+                    })
+                }
+            }
+        },
+        EscAdd() {
+            this.$router.push({
+                path: "/home/CarTouristGuideGroundId",
+                query: {
+                    diId: this.OpCarTouristGuideGroundData.diId
+                }
+            })
+        }
+    },
+
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.initializeSelect();
+        this.OpCarTouristGuideGroundData.diId = parseInt(this.$route.query.DiId)
+        this.OpCarTouristGuideGroundData.id = this.$route.query.id
+        this.OpCarTouristGuideGroundData.createUserId = this.userId
+        debugger
+        if (this.OpCarTouristGuideGroundData.id != null && this.OpCarTouristGuideGroundData.id != undefined && this.OpCarTouristGuideGroundData.id != 0) {
+            this.QueryCarTouristGuideGroundById();
+            this.title = "修改签证费用";
+            this.OpCarTouristGuideGroundData.status = 2
+            this.isShow = true
+        } else {
+            this.OpCarTouristGuideGroundData.status = 1
+            this.title = "新增签证费用"
+            this.isShow = false
+        }
+
+    }
+}
+</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>

+ 27 - 55
src/components/OP/OpVisaPriec.vue

@@ -72,7 +72,7 @@
                         <el-form-item label="签证费用:" prop="visaPrice" label-width="160px">
                             <el-input placeholder="签证费用" v-model="OpVisaPriceData.visaPrice" style="width: 58%;">
                             </el-input>
-                            <el-select v-model="OpVisaPriceData.visaCurrency" filterable placeholder="币种选择"
+                            <el-select v-model="OpVisaPriceData.visaCurrency" filterable placeholder="币种"
                                 style="width: 35%;">
                                 <el-option v-for="item in currencyList" :key="item.id" :label="item.name" :value="item.id">
                                 </el-option>
@@ -90,8 +90,8 @@
                     <div style="width: 25%;">
                         <el-form-item label="客户类型:" prop="passengerType" label-width="160px">
                             <el-select v-model="OpVisaPriceData.passengerType" clearable filterable placeholder="客户类型">
-                                <el-option v-for="item in passengerTypeSelect" :key="item.value" :label="item.label"
-                                    :value="item.value">
+                                <el-option v-for="item in passengerTypeSelect" :key="item.id" :label="item.name"
+                                    :value="item.id">
                                 </el-option>
                             </el-select>
                         </el-form-item>
@@ -262,9 +262,8 @@
                 <el-form-item>
                     <div style="margin-left: 60%;">
                         <el-button type="primary" @click="addBtn">保存</el-button>
-                        <router-link to='/home/VisaPriec'>
-                            <el-button>取消</el-button>
-                        </router-link>
+
+                        <el-button @click="EscAdd">取消</el-button>
                     </div>
                 </el-form-item>
             </el-form>
@@ -292,7 +291,7 @@ export default {
                 diId: '',
                 visaClient: '',
                 visaPrice: 0,
-                visaCurrency: 48,
+                visaCurrency: '',
                 isThird: '',
                 passengerType: '',
                 visaNumber: 0,
@@ -315,29 +314,7 @@ export default {
             },
             IsAuditGM: 0,
             VisitDate: '',
-            passengerTypeSelect: [
-                {
-                    value: '客人',
-                    label: '客人',
-                },
-                {
-                    value: '司机',
-                    label: '司机',
-                },
-                {
-                    value: '导游',
-                    label: '导游',
-                },
-                {
-                    value: '公司内部人员',
-                    label: '公司内部人员',
-                },
-                {
-                    value: '司机/导游/公司内部人员',
-                    label: '司机/导游/公司内部人员',
-                },
-
-            ],
+            passengerTypeSelect: [],
             dateFormat: function (value) {
 
                 // 将value转换为Date对象
@@ -437,38 +414,20 @@ export default {
                 }
             })
 
-            var url = "/api/System/QuerySetData"
+            var url = "/api/Groups/VisaPriceAddSelect"
             this.$axios({
                 method: 'post',
                 url: url,
                 headers: {
                     Authorization: 'Bearer ' + this.token
                 },
-                data: {
-                    //userId: that.userId,
-                    DataType: 15
-                }
             }).then(function (res) {
                 if (res.data.code == 200) {
 
-                    that.bankCard = res.data.data;
-                }
-            })
-
-            this.$axios({
-                method: 'post',
-                url: url,
-                headers: {
-                    Authorization: 'Bearer ' + this.token
-                },
-                data: {
-                    //userId: that.userId,
-                    DataType: 13
-                }
-            }).then(function (res) {
-                if (res.data.code == 200) {
-
-                    that.currencyList = res.data.data;
+                    that.bankCard = res.data.data.bankCard;
+                    that.payment = res.data.data.payment;
+                    that.currencyList = res.data.data.currencyList;
+                    that.passengerTypeSelect = res.data.data.passengerType;
                 }
             })
         },
@@ -548,7 +507,7 @@ export default {
                     that.OpVisaPriceData.visaPrice = VisaInfo.visaPrice;
                     that.OpVisaPriceData.visaCurrency = VisaInfo.visaCurrency;
                     that.OpVisaPriceData.isThird = VisaInfo.isThird;
-                    that.OpVisaPriceData.passengerType = VisaInfo.passengerType;
+                    that.OpVisaPriceData.passengerType = parseInt(VisaInfo.passengerType);
                     that.OpVisaPriceData.visaNumber = VisaInfo.visaNumber;
                     that.OpVisaPriceData.visaFreeNumber = VisaInfo.visaFreeNumber;
                     that.OpVisaPriceData.createUserId = VisaInfo.createUserId;
@@ -602,7 +561,12 @@ export default {
                                     });
                                     that.loading = true;
                                     setTimeout(() => {
-                                        that.$router.push('/home/VisaPriec')
+                                        that.$router.push({
+                                            path: "/home/VisaPriec",
+                                            query: {
+                                                diId: that.OpVisaPriceData.diId
+                                            }
+                                        })
                                     }, 3000);
                                 } else {
                                     that.$message.error(res.data.msg);
@@ -615,6 +579,14 @@ export default {
                     })
                 }
             }
+        },
+        EscAdd() {
+            this.$router.push({
+                path: "/home/VisaPriec",
+                query: {
+                    diId: this.OpVisaPriceData.diId
+                }
+            })
         }
     },
 

+ 21 - 5
src/components/OP/VisaPriec.vue

@@ -68,8 +68,12 @@
                     </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>
+                            <el-button-group>
+                                <el-button type="primary" size="mini" icon="el-icon-edit"
+                                    @click="upDate(scope.$index, scope.row)"></el-button>
+                                <el-button type="danger" size="mini" icon="el-icon-delete"
+                                    @click="del(scope.$index, scope.row)"></el-button>
+                            </el-button-group>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -131,9 +135,21 @@ export default {
                 if (res.data.code == 200) {
                     debugger
                     that.delegationInfoList = res.data.data.groupName;
-                    that.delegationInfo = that.delegationInfoList[0]
-                    that.DiId = that.delegationInfoList[0].id;
-                    that.delegationInfo = that.delegationInfoList[0];
+                    that.DiId = that.$route.query.diId
+                    if (that.DiId == undefined) {
+                        that.delegationInfo = that.delegationInfoList[0]
+                        that.DiId = that.delegationInfoList[0].id;
+                    } else {
+                        for (let index = 0; index < that.delegationInfoList.length; index++) {
+                            debugger
+                            if (that.delegationInfoList[index].id == that.DiId) {
+                                that.delegationInfo = that.delegationInfoList[index];
+                                that.DiId = that.delegationInfoList[index].id;
+                                break;
+                            }
+                        }
+                    }
+
                     that.PostVisaByDiId()
                 }
             }).catch(function (error) {

+ 0 - 270
src/components/Resource/GroundEntry.vue

@@ -1,270 +0,0 @@
-<template>
-    <div>
-        <div class="groundentry-all">
-            <el-dialog title="新增数据" class="btnpd" :visible.sync="dialogFormVisible">
-                <el-form :model="form">
-                    <div class="add-form">
-                        <el-form-item size="medium" label="团队名称" :label-width="formLabelWidth">
-                            <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 size="medium" label="团 号" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="客 户" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="出访国家" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="地 区" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="服务时间起" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="服务时间止" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="付款标识" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="服务类型" :label-width="formLabelWidth">
-                            <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 size="medium" label="服务公司" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="地接导游" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="联系电话" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="Bus名称" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="Bus描述" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                        <el-form-item size="medium" label="联系电话" :label-width="formLabelWidth">
-                            <el-input v-model="form.name" autocomplete="off"></el-input>
-                        </el-form-item>
-                    </div>
-                    <div class="groundentry-remark">
-                        <el-form-item label="服务描述" :label-width="formLabelWidth">
-                            <el-input :rows="3" type="textarea" v-model="form.name"></el-input>
-                        </el-form-item>
-                        <el-form-item label="备注" :label-width="formLabelWidth">
-                            <el-input :rows="3" type="textarea" v-model="form.name"></el-input>
-                        </el-form-item>
-                    </div>
-                </el-form>
-                <div slot="footer" class="dialog-footer">
-                    <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
-                    <el-button @click="dialogFormVisible = false">取 消</el-button>
-                </div>
-            </el-dialog>
-            <div class="groundentry-head">
-                <div class="groundentry-head-li">
-                    <label>团组名称:</label>
-                    <el-select v-model="value" filterable placeholder="请选择">
-                        <el-option
-                        v-for="item in options"
-                        :key="item.id"
-                        :label="item.groupName"
-                        :value="item.id">
-                        </el-option>
-                    </el-select>
-                </div>
-                <div class="groundentry-info">
-                    <div class="groundentry-info-li">
-                        <label>团 号:</label>
-                        <span>团 号:</span>
-                    </div>
-                    <div class="groundentry-info-li">
-                        <label>客 户:</label>
-                        <span>客 户:</span>
-                    </div>
-                    <div class="groundentry-info-li">
-                        <label>出访国家:</label>
-                        <span>出访国家:</span>
-                    </div>
-                    <div class="groundentry-info-li">
-                        <label>起止日期:</label>
-                        <span> 起止日期:</span>
-                    </div>
-                    <div class="groundentry-info-li">
-                        <label>天数/人数:</label>
-                        <span>天数/人数:</span>
-                    </div>
-                </div>
-            </div>
-            <div class="addgroundentry-btn">
-                <el-button type="primary" @click="dialogFormVisible = true">新增数据</el-button>
-            </div>
-            <div class="groundentry-table">
-                <el-table
-                :data="tableData"
-                border
-                style="width: 100%">
-                    <el-table-column
-                    label="序号"
-                    type="index"
-                    width="50">
-                    </el-table-column>
-                    <el-table-column
-                    prop="date"
-                    label="地区"
-                    width="180">
-                    </el-table-column>
-                    <el-table-column
-                    prop="date"
-                    label="服务导游"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="date"
-                    label="导游联系电话"
-                    width="110">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="Bus名称"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="Bus联系电话"
-                    width="110">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="服务时间起"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="服务时间止"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="服务报价"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="是否审核"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="name"
-                    label="详细费用"
-                    width="100">
-                    </el-table-column>
-                    <el-table-column
-                    prop="address"
-                    label="操 作">
-                    </el-table-column>
-              </el-table>
-            </div>
-        </div>
-    </div>
-</template>
-<script>
-export default {
-    data() {
-        return {
-            value:'',
-            options:[],
-            tableData: [{
-                date: '2016-05-02',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1518 弄'
-            }, {
-                date: '2016-05-04',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1517 弄'
-            }, {
-                date: '2016-05-01',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1519 弄'
-            }, {
-                date: '2016-05-03',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1516 弄'
-            }],
-            dialogFormVisible: false,
-            formLabelWidth:'120px',
-            form: {
-                name: '',
-                region: '',
-                date1: '',
-                date2: '',
-                delivery: false,
-                type: [],
-                resource: '',
-            desc: ''
-            },
-        }
-    },
-}
-</script>
-<style>
-.groundentry-all{
-    background-color: #fff;
-    padding: 10px;
-    box-shadow: 0 0 5px #0005;
-    border-radius: 10px;
-    height: 100%;
-    min-height: 840px;
-}
-.groundentry-head-li label{
-    color: #606266;
-    font-size: 15px;
-    font-weight: 600;
-}
-.groundentry-head{
-    display: flex;
-    justify-content: space-between;
-}
-.groundentry-info{
-    display: flex;
-    margin-top: 10px;
-}
-.groundentry-info-li label{
-    color: #606266;
-    font-size: 15px;
-    font-weight: 600;
-}
-.groundentry-info-li span{ 
-    color: #606266;
-    font-size: 14px;
-}
-.groundentry-table{
-    margin-top: 10px;
-}
-.addgroundentry-btn{
-    margin-top: 10px;
-    text-align: right;
-}
-.add-form{
-    display: flex;
-    flex-wrap:wrap ;
-}
-.add-form .el-form-item{
-    width: 32%;
-}
-.groundentry-remark .el-textarea__inner{
-    width: 95.5%;
-}
-.btnpd  .el-dialog__footer{
-    padding: 10px 54px 20px;
-}
-</style>>

+ 1 - 1
src/components/Resource/TicketBlackCode.vue

@@ -94,7 +94,7 @@ export default {
         },
         //下拉框数据绑定
         DelegationSelectFun() {
-            var url = "/api/Groups/GetGroupNameList"
+            var url = "/api/Business/GetGroupNameList"
             var that = this
             this.$axios({
                 method: 'post',

+ 19 - 6
src/router/index.js

@@ -78,11 +78,14 @@ import OpTicketBlackCode from '@/components/Resource/OpTicketBlackCode'
 import Payroll from '@/components/Finance/Payroll';
 import VisaPriec from '@/components/OP/VisaPriec';
 import OpVisaPriec from '@/components/OP/OpVisaPriec';
-import GroundEntry from '@/components/Resource/GroundEntry';
 import GroundDetailedfees from '@/components/Resource/GroundDetailedfees';
 import SetWorking from '@/components/system/SetWorking';
 import ThreeStandards from '@/components/OP/ThreeStandards'
 import OpLtinerary from '@/components/OP/OpLtinerary'
+import CarTouristGuideGroundId from '@/components/OP/CarTouristGuideGroundId'
+import OpCarTouristGuideGroundId from '@/components/OP/OpCarTouristGuideGroundId'
+import CarTouristGuideGrounContent from '@/components/OP/CarTouristGuideGrounContent'
+
 Vue.use(Router)
 
 export default new Router({
@@ -460,11 +463,6 @@ export default new Router({
           name: 'OpVisaPriec',
           component: OpVisaPriec
         },
-        {
-          path: '/home/GroundEntry',
-          name: 'GroundEntry',
-          component: GroundEntry
-        },
         {
           path: '/home/GroundDetailedfees',
           name: 'GroundDetailedfees',
@@ -485,6 +483,21 @@ export default new Router({
           name: 'OpLtinerary',
           component: OpLtinerary
         },
+        {
+          path: '/home/CarTouristGuideGroundId',
+          name: 'CarTouristGuideGroundId',
+          component: CarTouristGuideGroundId
+        },
+        {
+          path: '/home/OpCarTouristGuideGroundId',
+          name: 'OpCarTouristGuideGroundId',
+          component: OpCarTouristGuideGroundId
+        },
+        {
+          path: '/home/CarTouristGuideGrounContent',
+          name: 'CarTouristGuideGrounContent',
+          component: CarTouristGuideGrounContent
+        }
       ]
     },
     {