소스 검색

新增机场三字码资料页面,及增删改查功能

wangh 2 년 전
부모
커밋
322650b140

+ 1 - 3
src/components/Resource/LocalGuide.vue

@@ -64,8 +64,6 @@ export default {
             userId: 0,
             unitAreas: [],
             restaurants: [],
-            upCarVisible: false,
-
         }
     },
     methods: {
@@ -161,7 +159,7 @@ export default {
             console.log(item);
         },
         del(index, row) {
-            var url = "/api/Resource/LocalGuideDel"
+            var url = "/api/Resource/DelLocalGuide"
             var that = this
             this.$axios({
                 method: 'post',

+ 2 - 2
src/components/Resource/LocalGuideOperation.vue

@@ -42,7 +42,7 @@
                 <el-row>
                     <el-col :span="8">
                         <el-form-item label="联系人" prop="Contact">
-                            <el-input placeholder="单位地址" v-model="addData.Contact">
+                            <el-input placeholder="联系人" v-model="addData.Contact">
                             </el-input>
                         </el-form-item>
                     </el-col>
@@ -271,7 +271,7 @@ export default {
                 if (valid) {
                     debugger
                     console.log(that.addData)
-                    var url = "/api/Resource/LocalGuideOperation"
+                    var url = "/api/Resource/OperationLocalGuide"
                     that.$axios({
                         method: 'post',
                         url: url,

+ 197 - 0
src/components/Resource/ThreeCode.vue

@@ -0,0 +1,197 @@
+<template>
+    <div>
+        <div class="communal-list">
+            <div class="communal-title">
+                <div>机场三字码资料</div>
+                <div class="communal-box">
+                    <el-input @input="Inquireclick()" placeholder="三字码/城市/机场" v-model="input" clearable
+                        style="width: 350px;">
+                    </el-input>
+                    <router-link to="/home/ThreeCodeOperation">
+                        <el-button type="primary" style="margin-left: 10px;">新增</el-button>
+                    </router-link>
+
+                </div>
+            </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="序 号" width="55">
+                        <template slot-scope="scope">
+                            {{ (currentPage - 1) * pageSize + scope.$index + 1 }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="three" label="三字码" width="80">
+                    </el-table-column>
+                    <el-table-column prop="four" label="四字码" width="90">
+                    </el-table-column>
+                    <el-table-column prop="country" label="国家" width="150">
+                    </el-table-column>
+                    <el-table-column prop="city" label="城市" width="180">
+                    </el-table-column>
+                    <el-table-column prop="airPort" label="机场" width="200">
+                    </el-table-column>
+                    <el-table-column prop="airPort_En" label="机场英文" width="300">
+                    </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>
+                        </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>
+export default {
+    data() {
+        return {
+            loading: false,
+            tableDatas: [],
+            tableData: [],
+            currentPage: 1, // 当前页码
+            pageSize: 12,// 每页的数据条数
+            input: '',
+            token: '',
+            userId: 0
+        }
+    },
+    methods: {
+        //每页条数改变时触发 选择一页显示多少行
+        handleSizeChange(val) {
+            this.currentPage = 1;
+            this.pageSize = val;
+        },
+        //当前页改变时触发 跳转其他页
+        handleCurrentChange(val) {
+            this.currentPage = val;
+        },
+        ThreeCode() {
+            this.loading = true
+            var url = "/api/Resource/QuerThreeCode"
+            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) {
+                    debugger
+                    that.tableData = res.data.data;
+                    that.tableDatas = that.tableData;
+                }
+                that.loading = false
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        //搜索框处理
+        Inquireclick() {
+            var newarr = [];
+            if (this.input == "") {
+                newarr = this.tableData;
+            } else {
+                for (var i = 0; i < this.tableData.length; i++) {
+                    if (this.tableData[i].airPort.indexOf(this.input) != -1) {
+                        newarr.push(this.tableData[i]);
+                    } else if (this.tableData[i].three.indexOf(this.input) != -1) {
+                        newarr.push(this.tableData[i]);
+                    } else if (this.tableData[i].city.indexOf(this.input) != -1) {
+                        newarr.push(this.tableData[i]);
+                    }
+                }
+            }
+            this.tableDatas = newarr;
+        },
+
+        upDate(index, row) {
+            this.$router.push({
+                path: "/home/ThreeCodeOperation",
+                query: { id: row.id }
+            })
+        },
+
+        del(index, row) {
+            var url = "/api/Resource/DelThreeCode"
+            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)
+                debugger
+                if (res.data.code == 200) {
+                    debugger
+                    that.$message({
+                        message: '删除成功',
+                        type: 'success'
+                    });
+                    that.ThreeCode();
+                } else {
+                    that.$message.error('删除失败!');
+                }
+                that.loading = false
+            }).catch(function (error) {
+                that.loading = false
+                that.$message.error("网络错误,请稍后重试");
+            });
+        }
+    },
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.ThreeCode();
+    }
+}
+</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>

+ 273 - 0
src/components/Resource/ThreeCodeOperation.vue

@@ -0,0 +1,273 @@
+<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="三字码" prop="Three">
+                            <el-input placeholder="三字码" v-model="addData.Three">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 49%;">
+                        <el-form-item label="四字码" prop="Four">
+                            <el-input placeholder="四字码" v-model="addData.Four">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 49%;">
+                        <el-form-item label="国家" prop="Country">
+                            <el-input placeholder="国家" v-model="addData.Country">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+
+                    <div style="width: 49%;">
+                        <el-form-item label="城市" prop="City">
+                            <el-input placeholder="城市" v-model="addData.City">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 49%;">
+                        <el-form-item label="机场名" prop="AirPort">
+                            <el-input placeholder="机场名" v-model="addData.AirPort">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 49%;">
+                        <el-form-item label="机场英文名" prop="AirPort_En">
+                            <el-input placeholder="机场英文名" v-model="addData.AirPort_En">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 98%;">
+                        <el-form-item label="备注" 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/ThreeCode'>
+                            <el-button>取消</el-button>
+                        </router-link>
+                    </div>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            rules: {
+                Three: [
+                    { required: true, message: '请输入三字码', trigger: 'blur' },
+                ],
+                Country: [
+                    { required: true, message: '请输入国家', trigger: 'blur' },
+                ],
+                City: [
+                    { required: true, message: '请输入城市', trigger: 'blur' },
+                ],
+                AirPort: [
+                    { required: true, message: '请输入机场名', trigger: 'blur' },
+                ],
+                AirPort_En: [
+                    { required: true, message: '请输入机场英文名', trigger: 'blur' },
+                ],
+            },
+            loading: false,
+            tableData: [],
+            currentPage: 1, // 当前页码
+            pageSize: 15,// 每页的数据条数
+            input: '',
+            token: '',
+            userId: 0,
+            addData: {
+                Status: '',
+                Id: 0,
+                Three: '',
+                Four: '',
+                Country: '',
+                City: '',
+                AirPort: '',
+                AirPort_En: '',
+                CreateUserId: '',
+                Remark: ''
+            },
+            ThreeCodeData: {}
+
+        }
+    },
+    methods: {
+        ThreeCode() {
+            var url = "/api/Resource/QuerThreeCode"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    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();
+                    }
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+
+        handleSelect(item) {
+            console.log(item);
+        },
+        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/OperationThreeCode"
+                    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/ThreeCode')
+                            }, 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.ThreeCodeData = this.tableData[i];
+                    break;
+                }
+            }
+            this.addData.Status = 2;
+
+            this.addData.Id = this.ThreeCodeData.id;
+            this.addData.Three = this.ThreeCodeData.three;
+            this.addData.Four = this.ThreeCodeData.four;
+            this.addData.Country = this.ThreeCodeData.country;
+            this.addData.City = this.ThreeCodeData.city;
+            this.addData.AirPort = this.ThreeCodeData.airPort;
+            this.addData.AirPort_En = this.ThreeCodeData.airPort_En;
+            this.addData.CreateUserId = this.ThreeCodeData.createUserId;
+            this.addData.Remark = this.ThreeCodeData.remark;
+        },
+    },
+
+    mounted() {
+        debugger
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.ThreeCode();
+
+    }
+}
+</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>

+ 12 - 0
src/router/index.js

@@ -29,6 +29,8 @@ import CarDataEdit from '@/components/Resource/CarDataEdit'
 import Customerdata from '@/components/materials/Customerdata'
 import LocalGuide from '@/components/Resource/LocalGuide'
 import LocalGuideOperation from '@/components/Resource/LocalGuideOperation'
+import ThreeCode from '@/components/Resource/ThreeCode'
+import ThreeCodeOperation from '@/components/Resource/ThreeCodeOperation'
 Vue.use(Router)
 
 export default new Router({
@@ -160,6 +162,16 @@ export default new Router({
           name: 'Customerdata',
           component: Customerdata
         },
+        {
+          path: '/home/ThreeCode',
+          name: 'ThreeCode',
+          component: ThreeCode
+        },
+        {
+          path: '/home/ThreeCodeOperation',
+          name: 'ThreeCodeOperation',
+          component: ThreeCodeOperation
+        },
       ]
     },
     {