|
@@ -0,0 +1,392 @@
|
|
|
+<template>
|
|
|
+ <div v-loading="loading" element-loading-text="跳转中..." class="car_add">
|
|
|
+ <div class="communal-title">
|
|
|
+ <div>签证费用资料</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form :model="addData" :rules="rules" ref="addData" label-width="100px" class="demo-ruleForm">
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="所在州" label-width="125px" prop="VisaContinent">
|
|
|
+ <el-input placeholder="所在州" v-model="addData.VisaContinent">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="国家名称" label-width="125px" prop="VisaCountry">
|
|
|
+ <el-input placeholder="国家名称" v-model="addData.VisaCountry">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 98%;">
|
|
|
+ <el-form-item label="签证地址" label-width="125px" prop="VisaAddress">
|
|
|
+ <el-input placeholder="签证地址" v-model="addData.VisaAddress">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 25%;">
|
|
|
+ <el-form-item label="签证类型" label-width="125px">
|
|
|
+ <el-select v-model="addData.VisaType" placeholder="请选择签证类型">
|
|
|
+ <el-option key="暂无" label="暂无" value="暂无">
|
|
|
+ </el-option>
|
|
|
+ <el-option key="大公务" label="大公务" value="大公务">
|
|
|
+ </el-option>
|
|
|
+ <el-option key="小公务" label="小公务" value="小公务">
|
|
|
+ </el-option>
|
|
|
+ <el-option key="大小公务同时" label="大小公务同时" value="大小公务同时">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 25%;">
|
|
|
+ <el-form-item label="是否免签" label-width="125px">
|
|
|
+ <el-radio-group v-model="addData.IsVisaExemption">
|
|
|
+ <el-radio :label="0">是</el-radio>
|
|
|
+ <el-radio :label="1">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 25%;">
|
|
|
+ <el-form-item label="是否落地签" label-width="125px">
|
|
|
+ <el-radio-group v-model="addData.IsVisaOnArrival">
|
|
|
+ <el-radio :label="0">是</el-radio>
|
|
|
+ <el-radio :label="1">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 25%;">
|
|
|
+ <el-form-item label="是否电子签" label-width="125px">
|
|
|
+ <el-radio-group v-model="addData.IsElectronicSignature">
|
|
|
+ <el-radio :label="0">是</el-radio>
|
|
|
+ <el-radio :label="1">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="普通签证时间" label-width="125px" prop="VisaTime">
|
|
|
+ <el-input placeholder="普通签证时间" v-model="addData.VisaTime">
|
|
|
+ <template slot="append">天</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="签证费用" label-width="125px" prop="VisaPrice">
|
|
|
+ <el-input placeholder="签证费用" v-model="addData.VisaPrice">
|
|
|
+ <template slot="append">元</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 98%;">
|
|
|
+ <el-form-item label="签证价格描述" label-width="125px" prop="VisaPriceDesc">
|
|
|
+ <el-input type="textarea" :rows="3" placeholder="签证价格描述"
|
|
|
+ v-model="addData.VisaPriceDesc"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="加急签证时间" label-width="125px" prop="UrgentTime">
|
|
|
+ <el-input placeholder="加急签证时间" v-model="addData.UrgentTime">
|
|
|
+ <template slot="append">天</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width: 49%;">
|
|
|
+ <el-form-item label="加急签证费用" label-width="125px" prop="UrgentPrice">
|
|
|
+ <el-input placeholder="加急签证费用" v-model="addData.UrgentPrice">
|
|
|
+ <template slot="append">元</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 98%;">
|
|
|
+ <el-form-item label="加急签证价格描述" label-width="125px" prop="UrgentPriceDesc">
|
|
|
+ <el-input type="textarea" :rows="3" placeholder="加急签证价格描述"
|
|
|
+ v-model="addData.UrgentPriceDesc"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 98%;">
|
|
|
+ <el-form-item label="签证备注" label-width="125px" prop="Remark">
|
|
|
+ <el-input type="textarea" :rows="3" placeholder="签证备注" v-model="addData.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/CountryFeeCost'>
|
|
|
+ <el-button>取消</el-button>
|
|
|
+ </router-link>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ rules: {
|
|
|
+ VisaContinent: [
|
|
|
+ { required: true, message: '请输入所属州', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ VisaCountry: [
|
|
|
+ { required: true, message: '请输入国家', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ VisaPrice: [
|
|
|
+ { required: true, message: '签证金额不能为空', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ pattern: '^([1-9][0-9]*)+(.[0-9]{1,2})?$',
|
|
|
+ message: "小数部分为0到2位",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ VisaTime: [
|
|
|
+ { required: true, message: '签证时间不能为空', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ pattern: '^([1-9][0-9]*)?$',
|
|
|
+ message: "请正确的输入天数",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ UrgentPrice: [
|
|
|
+ { required: true, message: '加急签证金额不能为空', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ pattern: '^([1-9][0-9]*)+(.[0-9]{1,2})?$',
|
|
|
+ message: "小数部分为0到2位",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ UrgentTime: [
|
|
|
+ { required: true, message: '加急签证时间不能为空', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ pattern: '^([1-9][0-9]*)?$',
|
|
|
+ message: "请正确的输入天数",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ loading: false,
|
|
|
+ tableData: [],
|
|
|
+ currentPage: 1, // 当前页码
|
|
|
+ pageSize: 15,// 每页的数据条数
|
|
|
+ input: '',
|
|
|
+ token: '',
|
|
|
+ userId: 0,
|
|
|
+ addData: {
|
|
|
+ Status: 0,
|
|
|
+ Id: 0,
|
|
|
+ VisaContinent: '',
|
|
|
+ VisaCountry: '',
|
|
|
+ IsVisaExemption: 1,
|
|
|
+ IsVisaOnArrival: 1,
|
|
|
+ IsElectronicSignature: 1,
|
|
|
+ VisaPrice: 0,
|
|
|
+ VisaPriceDesc: '',
|
|
|
+ VisaType: '',
|
|
|
+ VisaTime: '0',
|
|
|
+ IsUrgent: 1,
|
|
|
+ UrgentTime: '0',
|
|
|
+ UrgentPrice: 0,
|
|
|
+ UrgentPriceDesc: '',
|
|
|
+ VisaAddress: '',
|
|
|
+ CreateUserId: 0,
|
|
|
+ Remark: ''
|
|
|
+ },
|
|
|
+ CountryFeeCostData: {}
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ CountryFeeCost() {
|
|
|
+ this.loading = true
|
|
|
+ var url = "/api/Resource/QueryCountryFeeCost"
|
|
|
+ var that = this
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + this.token
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ portType: 1,
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ console.log(res)
|
|
|
+ debugger
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.tableData = res.data.data;
|
|
|
+ that.addData.Id = that.$route.query.id;
|
|
|
+ if (that.addData.Id == undefined || that.addData.Id == null) {
|
|
|
+ //添加
|
|
|
+ that.addData.Status = 1
|
|
|
+ } else {
|
|
|
+ //编辑
|
|
|
+ that.upData();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.loading = false
|
|
|
+ }).catch(function (error) {
|
|
|
+ that.loading = false
|
|
|
+ that.$message.error("网络错误,请稍后重试");
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ addBtn() {
|
|
|
+ const that = this;
|
|
|
+ debugger
|
|
|
+ that.addData.CreateUserId = that.userId
|
|
|
+ that.$refs.addData.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ debugger
|
|
|
+ console.log(that.addData)
|
|
|
+ var url = "/api/Resource/OperationCountryFeeCost"
|
|
|
+ that.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
+ },
|
|
|
+ data: that.addData
|
|
|
+ }).then(function (res) {
|
|
|
+ console.log(res)
|
|
|
+ debugger
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.$message({
|
|
|
+ message: res.data.msg,
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ that.loading = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ that.$router.push('/home/CountryFeeCost')
|
|
|
+ }, 3000);
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message.error('请完善信息在保存!');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ upData() {
|
|
|
+ debugger
|
|
|
+ for (var i = 0; i < this.tableData.length; i++) {
|
|
|
+ if (this.tableData[i].id == parseInt(this.addData.Id)) {
|
|
|
+ debugger
|
|
|
+ this.CountryFeeCostData = this.tableData[i];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.addData.Status = 2;
|
|
|
+ this.addData.Id = this.CountryFeeCostData.id;
|
|
|
+ this.addData.VisaContinent = this.CountryFeeCostData.visaContinent;
|
|
|
+ this.addData.VisaCountry = this.CountryFeeCostData.visaCountry;
|
|
|
+ this.addData.IsVisaExemption = this.CountryFeeCostData.isVisaExemption;
|
|
|
+ this.addData.IsVisaOnArrival = this.CountryFeeCostData.isVisaOnArrival;
|
|
|
+ this.addData.IsElectronicSignature = this.CountryFeeCostData.isElectronicSignature;
|
|
|
+ this.addData.VisaPrice = this.CountryFeeCostData.visaPrice;
|
|
|
+ this.addData.VisaPriceDesc = this.CountryFeeCostData.visaPriceDesc;
|
|
|
+ this.addData.VisaType = this.CountryFeeCostData.visaType;
|
|
|
+ this.addData.VisaTime = this.CountryFeeCostData.visaTime;
|
|
|
+ this.addData.UrgentTime = this.CountryFeeCostData.urgentTime;
|
|
|
+ if (this.addData.UrgentTime != "" && this.addData.UrgentTime != 0 && this.addData.UrgentTime != null) {
|
|
|
+ this.addData.IsUrgent = "0";
|
|
|
+ }
|
|
|
+ this.addData.UrgentPrice = this.CountryFeeCostData.urgentPrice;
|
|
|
+ this.addData.UrgentPriceDesc = this.CountryFeeCostData.urgentPriceDesc;
|
|
|
+ this.addData.VisaAddress = this.CountryFeeCostData.visaAddress;
|
|
|
+ this.addData.CreateUserId = this.CountryFeeCostData.createUserId;
|
|
|
+ this.addData.Remark = this.CountryFeeCostData.remark;
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ mounted() {
|
|
|
+ debugger
|
|
|
+ this.token = JSON.parse(localStorage.getItem('userinif')).token;
|
|
|
+ this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
|
|
|
+ this.CountryFeeCost();
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+</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;
|
|
|
+}
|
|
|
+
|
|
|
+.el-input-group {
|
|
|
+ line-height: normal;
|
|
|
+ display: inline-table;
|
|
|
+ width: 90%;
|
|
|
+ border-collapse: separate;
|
|
|
+ border-spacing: 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+@media screen and (max-width: 1700px) {
|
|
|
+ .appraise-box>div {
|
|
|
+ width: 48%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .appraise-box>div el-form-item__content {
|
|
|
+ width: 260px !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|