123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- <template>
- <div class="car_add">
- <div>
- <div class="communal-title">
- <div>{{ title }}</div>
- </div>
- </div>
- <div style="display: flex;">
- <div style="text-align:left;font-size: 17px;font-weight: 600;color: #555;">
- 团组成本预算 - 机票的预算:
- </div>
- <div style="margin-left:20px;color: #555;" v-if="airGroupCostParameter != null">
- 经济舱: {{ airGroupCostParameter.jjccb }}元/人 {{ airGroupCostParameter.jjcrs }}人
- 共:{{ airGroupCostParameter.jjccb * airGroupCostParameter.jjcrs
- }}元
- 公务舱: {{ airGroupCostParameter.gwccb }}元/人 {{ airGroupCostParameter.gwcrs }}人
- 共:{{ airGroupCostParameter.gwccb * airGroupCostParameter.gwcrs
- }}元
- </div>
- <div style="margin-left:20px;" v-else>
- 团组成本暂未开放此团数据!
- </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="DiId" clearable filterable placeholder="团组选择" @change="AirTicketResChange"
- :disabled="isShow" style="width: 100%;">
- <el-option v-for="item in DelegationSelect" :key="item.id" :label="item.groupName"
- :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>
- </el-form>
- <el-form :model="OpTicketBlackCodeData" :rules="OpTicketBlackCodeRules" ref="OpTicketBlackCodeData"
- label-width="100px" class="demo-ruleForm">
- <div>
- <span style="color: red; padding-left: 100px;">
- 请严格遵守此格式!!! 1. EK363 R1 WE08MAR CANDXB HK7 0015 0515 SEAME 2 3 (注意空格以及多条数据换行)
- </span>
- </div>
- <div style="display: flex;">
- <div style="width: 60%;">
- <el-form-item label="黑屏代码:" prop="blackCode" label-width="160px">
- <el-input type="textarea" :rows="14"
- placeholder="请严格遵守此格式!!! 1. EK363 R1 WE08MAR CANDXB HK7 0015 0515 SEAME 2 3 (注意空格以及多条数据换行)"
- v-model="OpTicketBlackCodeData.blackCode"></el-input>
- </el-form-item>
- </div>
- <div style="width: 40%;">
- <el-form-item label="全价说明:" prop="price" label-width="160px">
- <el-input type="textarea" :rows="3" placeholder="全价说明"
- v-model="OpTicketBlackCodeData.price"></el-input>
- </el-form-item>
- <el-form-item label="现价说明:" prop="nowPrice" label-width="160px">
- <el-input type="textarea" :rows="3" placeholder="现价说明"
- v-model="OpTicketBlackCodeData.nowPrice"></el-input>
- </el-form-item>
- <el-form-item label="公务舱单价:" prop="bcPrice" label-width="160px">
- <el-input placeholder="公务舱单价" v-model="OpTicketBlackCodeData.bcPrice">
- </el-input>
- </el-form-item>
- <el-form-item label="经济舱单价:" prop="ecPrice" label-width="160px">
- <el-input placeholder="经济舱单价" v-model="OpTicketBlackCodeData.ecPrice">
- </el-input>
- </el-form-item>
- <el-form-item>
- </el-form-item>
- </div>
- </div>
- <div style="display: flex;">
- <div style="width: 60%;">
- <el-form-item label="备注:" prop="remark" label-width="160px">
- <el-input type="textarea" :rows="3" placeholder="备注"
- v-model="OpTicketBlackCodeData.remark"></el-input>
- </el-form-item>
- </div>
- <div style="width: 40%;text-align:right;margin-top: 2%;">
- <div>
- <el-button type="primary" @click="addBtn">保存</el-button>
- <router-link :to="{ path: '/home/TicketBlackCode', query: { DiId } }">
- <el-button>取消</el-button>
- </router-link>
- </div>
- </div>
- </div>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- title: "新增机票行程代码录入",
- token: '',
- userId: 0,
- id: '',
- DiId: '',
- isShow: false,
- delegationInfo: {},
- DelegationSelect: [],//团组下拉框
- airGroupCostParameter: {},//机票成本预算
- OpTicketBlackCodeData: {
- status: 0,
- id: 0,
- diId: 0,
- blackCode: '',
- price: '',
- nowPrice: '',
- bcPrice: '',
- ecPrice: '',
- createUserId: 0,
- remark: ''
- },
- OpTicketBlackCodeRules: {
- blackCode: [
- { required: true, message: '该信息为必填信息', trigger: ['blur', 'change'] },
- ],
- price: [
- { required: true, message: '该信息为必填信息', trigger: ['blur', 'change'] },
- ],
- nowPrice: [
- { required: true, message: '该信息为必填信息', trigger: ['blur', 'change'] },
- ],
- bcPrice: [
- { required: true, message: '请输入机票单价', trigger: ['blur', 'change'] },
- { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
- ],
- ecPrice: [
- { required: true, message: '请输入机票单价', trigger: ['blur', 'change'] },
- { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
- ],
- }
- }
- },
- methods: {
- //团组下拉框
- DelegationSelectFun() {
- var url = "/api/Groups/GetGroupNameList"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- "portType": 1,
- "pageIndex": 0,
- "pageSize": 0
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.DelegationSelect = res.data.data;
- that.QueryTicketBlackCodeById()
- }
- }).catch(function (error) {
- that.$message.error("网络错误,请稍后重试");
- });
- },
- QueryTicketBlackCodeById() {
- debugger
- var url = "/api/Resource/QueryTicketBlackCodeById"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- Id: that.id,
- DiId: that.DiId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- debugger
- that.delegationInfo = res.data.data.delegationInfo
- that.airGroupCostParameter = res.data.data.groupCostParameter
- if (res.data.data.ticketBlackCode != null) {
- debugger
- var TicketBlackCode = res.data.data.ticketBlackCode
- that.OpTicketBlackCodeData.id = TicketBlackCode.id
- that.OpTicketBlackCodeData.diId = TicketBlackCode.diId
- that.OpTicketBlackCodeData.blackCode = TicketBlackCode.blackCode
- that.OpTicketBlackCodeData.price = TicketBlackCode.price
- that.OpTicketBlackCodeData.nowPrice = TicketBlackCode.nowPrice
- that.OpTicketBlackCodeData.bcPrice = TicketBlackCode.bcPrice
- that.OpTicketBlackCodeData.ecPrice = TicketBlackCode.ecPrice
- that.OpTicketBlackCodeData.remark = TicketBlackCode.remark
- }
- }
- }).catch(function (error) {
- that.$message.error("网络错误,请稍后重试");
- });
- },
- //团组下拉框选择事件
- AirTicketResChange() {
- this.QueryTicketBlackCodeById()
- },
- //点击保存事件
- addBtn() {
- if (this.DiId == null && this.DiId == undefined && this.DiId == "") {
- this.$message.error("请选择团组名称");
- return;
- }
- const that = this;
- that.$refs.OpTicketBlackCodeData.validate((valid) => {
- if (valid) {
- var url = "/api/Resource/OpTicketBlackCode"
- that.OpTicketBlackCodeData.createUserId = that.userId;
- that.OpTicketBlackCodeData.diId = that.DiId
- that.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: that.OpTicketBlackCodeData
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success'
- });
- setTimeout(() => {
- that.$router.push('/home/TicketBlackCode')
- }, 3000);
- that.loading = true;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- } else {
- this.$message.error('请完善信息在保存!');
- return false;
- }
- })
- }
- },
- 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.DelegationSelectFun()
- var that = this
- if (that.DiId != undefined && that.id != undefined) {
- that.OpTicketBlackCodeData.status = 2;
- that.isShow = true
- } else {
- that.isShow = false
- that.OpTicketBlackCodeData.status = 1;
- }
- that.QueryTicketBlackCodeById();
- }
- }
- </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>
|