|
@@ -0,0 +1,487 @@
|
|
|
+<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: 220px;">
|
|
|
+ <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 ;">
|
|
|
+ <div style="width: 33%;">
|
|
|
+ <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: 33%;">
|
|
|
+ <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: 35%;">
|
|
|
+ <el-option key="48" label="CNY" :value="48"></el-option>
|
|
|
+ <el-option key="49" label="USD" :value="49"></el-option>
|
|
|
+ <el-option key="51" label="EUR" :value="51"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 33%;">
|
|
|
+ <el-form-item label="收款方:" prop="payee" label-width="160px">
|
|
|
+ <el-input placeholder="收款方" v-model="DecreasePaymentsData.payee">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display:flex ;">
|
|
|
+ <div style="width: 33%;">
|
|
|
+ <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: 33%;">
|
|
|
+ <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 style="50;">
|
|
|
+ <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: 90%;">
|
|
|
+ <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: "/project/upload?a=1",
|
|
|
+ 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: 48,
|
|
|
+ filePath: "",
|
|
|
+ createUserId: 0,
|
|
|
+ remark: ""
|
|
|
+ },
|
|
|
+ Decrease: {},
|
|
|
+ CreditCard: {},
|
|
|
+ headers: {
|
|
|
+ Authorization: JSON.parse(localStorage.getItem('userinif')).token
|
|
|
+ },
|
|
|
+ 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' }
|
|
|
+ ],
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ //文件的上传路径
|
|
|
+ uploadURL: function () {
|
|
|
+ //var userId = this.$store.state.userId;
|
|
|
+ return "http://132.232.92.186:8888/api/Groups/UploadProject";
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }).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.DecreasePaymentsData.remark = that.Decrease.remark
|
|
|
+ if (that.Decrease.filePath != null && that.Decrease.filePath != undefined && that.Decrease.filePath != "") {
|
|
|
+ that.uploadFiles.push({
|
|
|
+ name: that.Decrease.filePath,
|
|
|
+ url: 'C:\\Server\\File\\OA2023\\Office\\GrpFile\\',
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //点击保存事件
|
|
|
+ addBtn() {
|
|
|
+ const that = this;
|
|
|
+ that.$refs.DecreasePaymentsData.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ debugger
|
|
|
+ if (that.projectName == "") {
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ this.DecreasePaymentsData.filePath = ""
|
|
|
+ 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 {
|
|
|
+ that.$refs.upload.submit();//上传文件到服务器
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message.error('请完善信息在保存!');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 此时必填完成,做保存后的业务操作
|
|
|
+ },
|
|
|
+ DecreasePaymentsChange() {
|
|
|
+ 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
|
|
|
+ } 个文件,请取消要替换的文件`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ //文件上传
|
|
|
+ // submitUpload() {
|
|
|
+
|
|
|
+ // },
|
|
|
+ //文件上传成功时的钩子
|
|
|
+ upLoadSuccess(response, file, fileList) {
|
|
|
+ if (response.code == 200) {
|
|
|
+ var that = this;
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ this.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
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ mounted() {
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ this.DiId = this.$route.query.DiId
|
|
|
+ }
|
|
|
+}
|
|
|
+</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>
|