123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566 |
- <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="DiIdSelect" clearable filterable placeholder="团组选择"
- @change="DecreasePaymentsChange" :disabled="isShow" style="width: 100%;">
- <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>
- </el-form>
- <el-form :model="DecreasePaymentsData" ref="DecreasePaymentsData" :rules="DecreasePaymentsRules"
- label-width="100px" class="demo-ruleForm">
- <div style="display:flex ;flex-wrap: wrap;">
- <div style="width: 25%;">
- <el-form-item label="费用名称:" prop="priceName" label-width="160px">
- <el-input placeholder="费用名称" v-model="DecreasePaymentsData.priceName">
- </el-input>
- </el-form-item>
- </div>
- <div style="width: 25%;">
- <el-form-item label="费用金额:" prop="price" label-width="160px">
- <el-input placeholder="费用金额" v-model="DecreasePaymentsData.price" style="width: 58%;">
- </el-input>
- <el-select v-model="DecreasePaymentsData.currency" style="width: 40%;">
- <el-option v-for="item in rateList" :key="item.currencyId" :label="item.currencyCode"
- :value="item.currencyId"></el-option>
- </el-select>
- </el-form-item>
- </div>
- <div style="width: 25%;">
- <el-form-item label="收款方:" prop="payee" label-width="160px">
- <el-input placeholder="收款方" v-model="DecreasePaymentsData.payee">
- </el-input>
- </el-form-item>
- </div>
- <div style="width: 25%;">
- <el-form-item label="费用标识:" prop="orbitalPrivateTransfer" label-width="160px">
- <el-select v-model="DecreasePaymentsData.orbitalPrivateTransfer" placeholder="费用标识"
- style="width: 100%;">
- <el-option key="0" label="公转" :value=0>
- </el-option>
- <el-option key="1" label="私转" :value=1>
- </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="DecreasePaymentsData.payDId" placeholder="支付方式" style="width: 100%;">
- <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>
- <el-form-item label="附件:" prop="fileUrl" label-width="160px">
- <el-upload :file-list="uploadFiles" ref="upload" :on-success="upLoadSuccess"
- :on-error="upLoadError" :before-remove="beforeRemove" :on-change="onChange" :limit="1"
- :on-exceed="exceed" :action="uploadURL" :headers="headers" :auto-upload="false">
- <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
- <!-- <el-button style="margin-left: 10px;" size="small" type="success"
- @click="submitUpload">上传到服务器</el-button> -->
- </el-upload>
- </el-form-item>
- </div>
- </div>
- <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="DecreasePaymentsData.remark"></el-input>
- </el-form-item>
- </div>
- </div>
- <el-form-item>
- <div style="margin-left: 60%;">
- <el-button type="primary" @click="addBtn">保存</el-button>
- <router-link to='/home/DecreasePayments'>
- <el-button>取消</el-button>
- </router-link>
- </div>
- </el-form-item>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- projectName: "",
- uploadURL: "http://132.232.92.186:8888/api/Groups/UploadProject",
- uploadFiles: [],//上传的文件列表
- DelfileName: "",
- title: "新增团组增减款项费用",
- token: '',
- userId: 0,
- id: '',
- DiId: '',
- isShow: false,
- DiIdSelect: '',
- delegationInfo: {},
- delegationInfoList: [],//团组下拉框
- payment: [],//支付方式下拉框
- DecreasePaymentsData: {
- status: 0,
- payDId: 72,
- orbitalPrivateTransfer: 0,
- payee: "",
- id: 0,
- diId: 0,
- priceName: "",
- price: 0,
- currency: '',
- filePath: "",
- createUserId: 0,
- remark: ""
- },
- IsAuditGM: 0,
- Decrease: {},
- CreditCard: {},
- headers: {
- Authorization: JSON.parse(localStorage.getItem('userinif')).token,
- TypeName: "A"
- },
- DecreasePaymentsRules: {
- price: [
- { required: true, message: '请输入费用金额', trigger: 'change' },
- { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
- ],
- priceName: [
- { required: true, message: '请输入费用名称', trigger: 'change' },
- ],
- payee: [
- { required: true, message: '请输入收款方姓名', trigger: 'change' },
- ],
- orbitalPrivateTransfer: [
- { required: true, message: '请选择费用标识', trigger: 'change' },
- ],
- payDId: [
- { required: true, message: '请选择支付方式', trigger: 'change' }
- ],
- },
- rateList: [],
- }
- },
- methods: {
- //团组下拉框
- AirTicketResSelect() {
- var url = "/api/Groups/DecreasePaymentsSelect"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- userId: that.userId,
- CTId: 98
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.delegationInfoList = res.data.data.groupName;
- that.DiIdSelect = parseInt(that.DiId)
- for (let index = 0; index < that.delegationInfoList.length; index++) {
- if (that.delegationInfoList[index].id == that.DiIdSelect) {
- that.delegationInfo = that.delegationInfoList[index];
- break;
- }
- }
- that.payment = res.data.data.payment
- }
- })
- },
- QueryDecreasePaymentsById() {
- var url = "/api/Groups/QueryDecreasePaymentsById"
- 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) {
- that.Decrease = res.data.data._Decrease
- that.CreditCard = res.data.data._CreditCard
- that.DecreasePaymentsData.payDId = that.CreditCard.payDId
- that.DecreasePaymentsData.orbitalPrivateTransfer = that.CreditCard.orbitalPrivateTransfer
- that.DecreasePaymentsData.payee = that.CreditCard.payee
- that.DecreasePaymentsData.id = that.Decrease.id
- that.DecreasePaymentsData.diId = that.Decrease.diId
- that.DecreasePaymentsData.priceName = that.Decrease.priceName
- that.DecreasePaymentsData.price = that.Decrease.price
- that.DecreasePaymentsData.currency = that.Decrease.currency
- that.DecreasePaymentsData.filePath = that.Decrease.filePath
- that.projectName = that.Decrease.filePath
- that.DecreasePaymentsData.remark = that.Decrease.remark
- that.IsAuditGM = that.CreditCard.isAuditGM
- if (that.Decrease.filePath != null && that.Decrease.filePath != undefined && that.Decrease.filePath != "") {
- that.uploadFiles.push({
- name: that.Decrease.filePath,
- url: 'http://132.232.92.186:24/Office/GrpFile/团组增减款项相关文件/',
- })
- }
- }
- })
- },
- //点击保存事件
- addBtn() {
- if (this.IsAuditGM == 1) {
- this.$message.error('已通过审核,不可修改!');
- } else {
- if (this.DiId == null && this.DiId == undefined && this.DiId == "") {
- this.$message.error("请选择团组名称");
- return;
- }
- const that = this;
- that.$refs.DecreasePaymentsData.validate((valid) => {
- if (valid) {
- if (that.DecreasePaymentsData.filePath == that.projectName) {
- if (that.DelfileName != null && that.DelfileName != "" && that.DelfileName != undefined) {
- that.$axios({
- method: 'post',
- url: "/api/Groups/DelFile",
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- fileName: that.DelfileName,
- id: that.id
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- }
- })
- }
- that.DecreasePaymentsData.filePath = that.projectName
- that.DecreasePaymentsData.diId = that.DiIdSelect;
- that.DecreasePaymentsData.createUserId = that.userId;
- var url = "/api/Groups/OpDecreasePayments"
- that.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: that.DecreasePaymentsData
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success'
- });
- that.loading = true;
- setTimeout(() => {
- that.$router.push('/home/DecreasePayments')
- }, 3000);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- } else {
- if (that.DelfileName != null && that.DelfileName != "" && that.DelfileName != undefined) {
- that.$axios({
- method: 'post',
- url: "/api/Groups/DelFile",
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- fileName: that.DelfileName,
- id: that.id
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- }
- })
- }
- if (that.projectName != "" && that.projectName != null && that.projectName != undefined) {
- that.$refs.upload.submit();//上传文件到服务器
- } else {
- that.DecreasePaymentsData.filePath = that.projectName
- that.DecreasePaymentsData.diId = that.DiIdSelect;
- that.DecreasePaymentsData.createUserId = that.userId;
- var url = "/api/Groups/OpDecreasePayments"
- that.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: that.DecreasePaymentsData
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success'
- });
- that.loading = true;
- setTimeout(() => {
- that.$router.push('/home/DecreasePayments')
- }, 3000);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- }
- }
- } else {
- this.$message.error('请完善信息在保存!');
- return false;
- }
- })
- }
- // 此时必填完成,做保存后的业务操作
- },
- DecreasePaymentsChange() {
- this.QueryRate();
- for (let index = 0; index < this.delegationInfoList.length; index++) {
- if (this.delegationInfoList[index].id == parseInt(this.DiIdSelect)) {
- this.delegationInfo = this.delegationInfoList[index];
- break;
- }
- }
- },
- //上传
- // 文件超出限制
- exceed(files, fileList) {
- this.$message.warning(
- `当前限制选择 1个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
- } 个文件,请取消要替换的文件`
- );
- },
- //文件上传成功时的钩子
- upLoadSuccess(response, file, fileList) {
- if (response.code == 200) {
- var that = this;
- that.$axios({
- method: 'post',
- url: "/api/Groups/DelFile",
- headers: {
- Authorization: 'Bearer ' + that.token,
- TypeName: "A"
- },
- data: {
- fileName: that.DelfileName,
- id: that.id
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- }
- })
- that.DecreasePaymentsData.filePath = response.data
- that.DecreasePaymentsData.diId = that.DiIdSelect;
- that.DecreasePaymentsData.createUserId = that.userId;
- var url = "/api/Groups/OpDecreasePayments"
- that.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: that.DecreasePaymentsData
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success'
- });
- that.loading = true;
- setTimeout(() => {
- that.$router.push('/home/DecreasePayments')
- }, 3000);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- console.log("上传成功");
- } else {
- console.log("保存失败");
- }
- },
- //文件上传失败时的钩子
- upLoadError(response, file, fileList) {
- console.log("项目添加失败");
- },
- beforeRemove(file, fileList) {
- console.log(file.name)
- let id1 = this.uploadFiles.findIndex(item => {
- if (item.name == file.name) {
- return true
- }
- })
- this.uploadFiles.splice(id1, 1)
- this.projectName = ""
- this.DelfileName = file.name
- },
- onChange(file, fileList) {
- this.projectName = file.name
- },
- QueryRate() {
- var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- "portType": 1,
- "diId": this.DiIdSelect ? this.DiIdSelect : this.DiId,
- "cTable": 98
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- //汇率
- console.log("汇率--", res.data.data);
- that.rateList = res.data.data.teamRates;
- }
- })
- }
- },
- mounted() {
- this.DiId = this.$route.query.DiId
- this.QueryRate();
- this.token = JSON.parse(localStorage.getItem('userinif')).token;
- this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
- this.AirTicketResSelect();
- this.id = this.$route.query.id
- if (this.id != null && this.id != undefined && this.id != 0) {
- this.QueryDecreasePaymentsById();
- this.title = "修改团组增减款项费用";
- this.DecreasePaymentsData.status = 2
- this.isShow = true
- } else {
- this.DecreasePaymentsData.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>
|