Explorar o código

新增请示数据库查询页面

wangh hai 1 ano
pai
achega
cede24eca7

+ 251 - 0
src/components/Resource/AskData.vue

@@ -0,0 +1,251 @@
+<template>
+    <div>
+        <div class="communal-list">
+            <div>
+                <div class="communal-title">
+                    <div>请示数据库</div>
+                </div>
+                <div style="display: flex;">
+                    <div style="width: 60%;display: flex;">
+                        <div style="width: 25%;">
+                            <el-input clearable placeholder="国家" v-model="Country">
+                            </el-input>
+                        </div>
+                        <div style="width: 25%;">
+                            <el-input clearable placeholder="地区" v-model="Area">
+                            </el-input>
+                        </div>
+                        <div style="width: 25%;">
+                            <el-input clearable placeholder="领域" v-model="Field">
+                            </el-input>
+                        </div>
+                        <div style="width: 25%;">
+                            <el-button type="primary" style="margin-left: 10px;" @click="QueryAskData">查询</el-button>
+                        </div>
+                    </div>
+                    <div style="width: 40%;">
+                        <el-select v-model="DiId" placeholder="团组选择" clearable filterable>
+                            <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                        <el-button type="primary" style="margin-left: 10px;">省外办请示</el-button>
+                        <el-button type="primary" style="margin-left: 10px;">市外办请示</el-button>
+                        ||
+                        <router-link :to="{ path: '/home/OpOfficialActivities', query: { DiId } }">
+                            <el-button type="primary" style="margin-left: 10px;">新增</el-button>
+                        </router-link>
+                    </div>
+                </div>
+            </div>
+            <hr style='background-color:#5555; height:1px; border:none;' />
+            <template>
+                <el-table :data="tableDatas.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border
+                    style="width: 100%" v-loading="loading" element-loading-text="拼命加载中..."
+                    @selection-change="handleSelectionChange">
+                    <el-table-column type="selection" width="55">
+                    </el-table-column>
+                    <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="deleName" label="所属团组">
+                    </el-table-column>
+                    <el-table-column prop="country" label="国家">
+                    </el-table-column>
+                    <el-table-column prop="area" label="地区">
+                    </el-table-column>
+                    <el-table-column prop="unitName" label="公务方名称">
+                    </el-table-column>
+                    <el-table-column prop="field" label="涉及领域">
+                    </el-table-column>
+                    <el-table-column prop="talkCase" label="请示范例">
+                        <template slot-scope="r">
+                            <div :title="r.row.talkCase" class="title">{{ r.row.talkCase }}</div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="操作" width="280">
+                        <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,
+            DiId: '',
+            Country: "",
+            Area: "",
+            Field: "",
+            delegationInfoList: [],
+
+        }
+    },
+    methods: {
+        //每页条数改变时触发 选择一页显示多少行
+        handleSizeChange(val) {
+            this.currentPage = 1;
+            this.pageSize = val;
+        },
+        //当前页改变时触发 跳转其他页
+        handleCurrentChange(val) {
+            this.currentPage = val;
+        },
+        //页面初始化
+        QueryAskData() {
+            var url = "/api/Resource/QueryAskData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    Country: that.Country,
+                    Area: that.Area,
+                    Field: that.Field,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    debugger
+                    that.delegationInfoList = res.data.data.delegationInfo;
+                    that.DiId = that.delegationInfoList[0].id;
+                    that.tableDatas = res.data.data.askDatd;
+                    that.tableData = that.tableDatas
+                    if (that.tableDatas.length != 0) {
+                        if (that.tableDatas.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize).length == 0) {
+                            if (that.currentPage > 1) {
+                                that.currentPage = that.currentPage - 1;
+                            }
+                        }
+                    }
+                }
+            }).catch(function (error) {
+                that.$message.error("网络错误,请稍后重试");
+            });
+        },
+        upDate(index, row) {
+
+            this.$router.push({
+                path: "/home/OpOfficialActivities",
+                query: {
+                    DiId: this.DiId,
+                    id: row.id
+                }
+            })
+
+        },
+        del(index, row) {
+            this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                var url = "/api/Resource/DelOfficialActivities"
+                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)
+
+                    if (res.data.code == 200) {
+
+                        that.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        });
+                        that.QueryOfficialActivitiesByDiId();
+                    } else {
+                        that.$message.error('删除失败!');
+                    }
+                    that.loading = false
+                }).catch(function (error) {
+                    that.loading = false
+                    that.$message.error("网络错误,请稍后重试");
+                });
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '操作已取消!'
+                });
+            });
+        },
+        handleSelectionChange() {
+            this.multipleSelection = val;
+        },
+    },
+
+    mounted() {
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.QueryAskData();
+        //this.AirTicketResList()
+    }
+}
+</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;
+}
+
+.title {
+    width: 90%;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    cursor: pointer;
+}
+</style>

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

@@ -183,7 +183,7 @@ export default {
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                var url = "/api/Groups/DelDecreasePayments"
+                var url = "/api/Resource/DelOfficialActivities"
                 var that = this
                 this.$axios({
                     method: 'post',
@@ -204,7 +204,7 @@ export default {
                             message: '删除成功',
                             type: 'success'
                         });
-                        that.DecreasePaymentsSelect();
+                        that.QueryOfficialActivitiesByDiId();
                     } else {
                         that.$message.error('删除失败!');
                     }

+ 99 - 26
src/components/Resource/OpOfficialActivities.vue

@@ -43,19 +43,19 @@
                 label-width="100px" class="demo-ruleForm">
                 <div style="display: flex;">
                     <div style="width: 25%;">
-                        <el-form-item label="公务单位:" prop="email" label-width="160px">
+                        <el-form-item label="公务单位:" prop="client" label-width="160px">
                             <el-input clearable placeholder="公务单位" v-model="OpOfficialActivitiesDto.client">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="公务日期:" prop="email" label-width="160px">
+                        <el-form-item label="公务日期:" prop="date" label-width="160px">
                             <el-date-picker v-model="OpOfficialActivitiesDto.date" type="date" placeholder="选择公务日期">
                             </el-date-picker>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="公务时刻:" prop="email" label-width="160px">
+                        <el-form-item label="公务时刻:" prop="time" label-width="160px">
                             <el-time-picker v-model="OpOfficialActivitiesDto.time" format='HH:mm' value-format="HH:mm"
                                 placeholder="公务时刻">
                             </el-time-picker>
@@ -63,7 +63,7 @@
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="邀请方:" prop="email" label-width="160px">
+                        <el-form-item label="邀请方:" prop="type" label-width="160px">
                             <el-radio-group v-model="OpOfficialActivitiesDto.type">
                                 <el-radio :label=1>是</el-radio>
                                 <el-radio :label=0>否</el-radio>
@@ -74,24 +74,24 @@
                 <div style="display: flex;">
 
                     <div style="width: 25%;">
-                        <el-form-item label="公务方联系人职务:" prop="email" label-width="160px">
+                        <el-form-item label="公务方联系人职务:" prop="job" label-width="160px">
                             <el-input clearable placeholder="公务方联系人职务" v-model="OpOfficialActivitiesDto.job">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="公务方联系人:" prop="email" label-width="160px">
+                        <el-form-item label="公务方联系人:" prop="contact" label-width="160px">
                             <el-input clearable placeholder="公务方联系人" v-model="OpOfficialActivitiesDto.contact">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="联系方式:" prop="email" label-width="160px">
+                        <el-form-item label="联系方式:" prop="tel" label-width="160px">
                             <el-input clearable placeholder="联系方式" v-model="OpOfficialActivitiesDto.tel">
                             </el-input>
                         </el-form-item>
                     </div>
-                    <el-form-item label="公务形式:" prop="email" label-width="160px">
+                    <el-form-item label="公务形式:" prop="officialForm" label-width="160px">
                         <el-select v-model="OpOfficialActivitiesDto.officialForm" clearable filterable placeholder="公务形式"
                             style="width: 220px;">
                             <el-option v-for="item in OfficialFormList" :key="item.id" :label="item.name" :value="item.id">
@@ -101,13 +101,13 @@
                 </div>
                 <div style="display: flex;">
                     <div style="width: 25%;">
-                        <el-form-item label="着装要求:" prop="email" label-width="160px">
+                        <el-form-item label="着装要求:" prop="dresscode" label-width="160px">
                             <el-input clearable placeholder="着装要求" v-model="OpOfficialActivitiesDto.dresscode">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="需要翻译:" prop="email" label-width="160px">
+                        <el-form-item label="需要翻译:" prop="isNeedTrans" label-width="160px">
                             <el-radio-group v-model="OpOfficialActivitiesDto.isNeedTrans">
                                 <el-radio :label=1>是</el-radio>
                                 <el-radio :label=0>否</el-radio>
@@ -115,13 +115,13 @@
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="翻译人员:" prop="email" label-width="160px">
+                        <el-form-item label="翻译人员:" prop="translators" label-width="160px">
                             <el-input clearable placeholder="翻译人员" v-model="OpOfficialActivitiesDto.translators">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 25%;">
-                        <el-form-item label="翻译语种:" prop="email" label-width="160px">
+                        <el-form-item label="翻译语种:" prop="language" label-width="160px">
                             <el-input clearable placeholder="翻译语种" v-model="OpOfficialActivitiesDto.language">
                             </el-input>
                         </el-form-item>
@@ -130,13 +130,13 @@
                 </div>
                 <div style="display: flex;">
                     <div style="width: 50%;">
-                        <el-form-item label="公务方背景:" prop="priceDescription" label-width="160px">
+                        <el-form-item label="公务方背景:" prop="setting" label-width="160px">
                             <el-input type="textarea" :rows="3" placeholder="公务方背景"
                                 v-model="OpOfficialActivitiesDto.setting"></el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 50%;">
-                        <el-form-item label="公务地址:" prop="email" label-width="160px">
+                        <el-form-item label="公务地址:" prop="address" label-width="160px">
                             <el-input type="textarea" :rows="3" placeholder="公务地址"
                                 v-model="OpOfficialActivitiesDto.address"></el-input>
                         </el-form-item>
@@ -144,14 +144,14 @@
                 </div>
                 <div style="display: flex;">
                     <div style="width: 50%;">
-                        <el-form-item label="暂定议程:" prop="email" label-width="160px">
+                        <el-form-item label="暂定议程:" prop="trip" label-width="160px">
                             <el-input type="textarea" :rows="3" placeholder="暂定议程"
                                 v-model="OpOfficialActivitiesDto.trip"></el-input>
                         </el-form-item>
                     </div>
 
                     <div style="width: 50%;">
-                        <el-form-item label="参会人员:" prop="email" label-width="160px">
+                        <el-form-item label="参会人员:" prop="attendees" label-width="160px">
                             <el-input type="textarea" :rows="3" placeholder="参会人员"
                                 v-model="OpOfficialActivitiesDto.attendees"></el-input>
                         </el-form-item>
@@ -171,13 +171,14 @@
                     <div>公务文件</div>
                 </div>
             </div>
+            <span style="color: red;">上传、删除文件时请谨慎!!!</span>
             <hr style='background-color:#5555; height:1px; border:none;' />
             <div style="display: flex;">
                 <div style="width: 33%;">
                     公务方简介:
                     <el-upload :file-list="uploadFiles1" ref="upload1" :on-success="upLoadSuccess1" :on-error="upLoadError1"
                         :before-remove="beforeRemove1" :on-change="onChange1" :limit="1" :on-exceed="exceed1"
-                        :action="uploadURL" :headers="headers1" :auto-upload="false">
+                        :action="uploadURL" :headers="headers1" :auto-upload="false" :on-preview="onPreview1">
                         <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
                         <el-button style="margin-left: 10px;" size="small" type="success"
                             @click="submitUpload1">上传</el-button>
@@ -187,7 +188,7 @@
                     公务活动图片:
                     <el-upload :file-list="uploadFiles2" ref="upload2" :on-success="upLoadSuccess2" :on-error="upLoadError2"
                         :before-remove="beforeRemove2" :on-change="onChange2" :limit="1" :on-exceed="exceed2"
-                        :action="uploadURL" :headers="headers2" :auto-upload="false">
+                        :action="uploadURL" :headers="headers2" :auto-upload="false" :on-preview="onPreview2">
                         <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
 
                         <el-button style="margin-left: 10px;" size="small" type="success"
@@ -198,7 +199,7 @@
                     发票:
                     <el-upload :file-list="uploadFiles3" ref="upload3" :on-success="upLoadSuccess3" :on-error="upLoadError3"
                         :before-remove="beforeRemove3" :on-change="onChange3" :limit="1" :on-exceed="exceed3"
-                        :action="uploadURL" :headers="headers3" :auto-upload="false">
+                        :action="uploadURL" :headers="headers3" :auto-upload="false" :on-preview="onPreview3">
                         <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
                         <el-button style="margin-left: 10px;" size="small" type="success"
                             @click="submitUpload3">上传</el-button>
@@ -250,6 +251,42 @@ export default {
                 remark: ""
             },
             OpOfficialActivitiesRules: {
+                inviteCosts: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                client: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                date: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                time: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                address: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                contact: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                job: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                tel: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
+                dresscode: [
+                    { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { required: true, message: '该信息为必填信息', trigger: 'change' },
+                ],
 
             },
             uploadURL: "http://localhost:5256/api/Resource/UploadOfficialActivities",
@@ -299,20 +336,20 @@ export default {
                         if (item.kind == 1) {
                             that.uploadFiles1.push({
                                 name: item.fileName,
-                                url: 'http://localhost:5256/Office/GrpFile/团组增减款项相关文件/',
+                                url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
                                 id: item.id
                             });
                         } else if (item.kind == 2) {
                             that.uploadFiles2.push({
                                 name: item.fileName,
-                                url: 'http://localhost:5256/Office/GrpFile/团组增减款项相关文件/',
+                                url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
                                 id: item.id
                             });
                         }
                         else if (item.kind == 3) {
                             that.uploadFiles3.push({
                                 name: item.fileName,
-                                url: 'http://localhost:5256/Office/GrpFile/团组增减款项相关文件/',
+                                url: 'http://localhost:5256/Office/GrpFile/商邀相关文件/',
                                 id: item.id
                             });
                         }
@@ -440,7 +477,10 @@ export default {
         },
         //文件上传成功时的钩子
         upLoadSuccess1(response, file, fileList) {
-            console.log(response)
+            this.$message({
+                message: response.msg,
+                type: 'success'
+            });
         },
         //文件上传失败时的钩子
         upLoadError1(response, file, fileList) {
@@ -471,10 +511,14 @@ export default {
                 }
             })
         },
+        //文件状态改变时的钩子
         onChange1(file, fileList) {
 
         },
-
+        //点击文件的钩子
+        onPreview1(file) {
+            window.location.href = "http://132.232.92.186:24/Office/GrpFile/商邀相关文件/" + file.name
+        },
         //上传2
         //上传到服务器
         submitUpload2() {
@@ -489,12 +533,16 @@ export default {
         },
         //文件上传成功时的钩子
         upLoadSuccess2(response, file, fileList) {
-
+            this.$message({
+                message: response.msg,
+                type: 'success'
+            });
         },
         //文件上传失败时的钩子
         upLoadError2(response, file, fileList) {
             console.log("项目添加失败");
         },
+        //删除文件时出发的事件
         beforeRemove2(file, fileList) {
             const that = this;
             var url = "/api/Resource/DelloadOfficialActivities"
@@ -519,8 +567,13 @@ export default {
                 }
             })
         },
+        //文件状态改变时的钩子
         onChange2(file, fileList) {
 
+        },
+        //点击文件的钩子
+        onPreview2(file) {
+            window.location.href = "http://132.232.92.186:24/Office/GrpFile/商邀相关文件/" + file.name
         },
         //上传3
         //上传到服务器
@@ -536,12 +589,16 @@ export default {
         },
         //文件上传成功时的钩子
         upLoadSuccess3(response, file, fileList) {
-
+            this.$message({
+                message: response.msg,
+                type: 'success'
+            });
         },
         //文件上传失败时的钩子
         upLoadError3(response, file, fileList) {
             console.log("项目添加失败");
         },
+        //删除文件时出发的事件
         beforeRemove3(file, fileList) {
             const that = this;
             var url = "/api/Resource/DelloadOfficialActivities"
@@ -566,6 +623,22 @@ export default {
                 }
             })
         },
+        //文件状态改变时的钩子
+        onChange3(file, fileList) {
+
+        },
+        //点击文件的钩子
+        onPreview3(file) {
+            let href = "http://132.232.92.186:24/Office/GrpFile/商邀相关文件/" + file.name
+            var a = document.createElement("a");
+            a.href = href;
+            a.download = file.name;
+            a.style.display = "none";
+            document.body.appendChild(a);
+            a.click();
+            a.remove();
+            //window.location.href = "http://132.232.92.186:24/Office/GrpFile/商邀相关文件/" + file.name
+        },
     },
 
     mounted() {

+ 6 - 0
src/router/index.js

@@ -66,6 +66,7 @@ import InvitationOfficialActivityData from '@/components/Resource/InvitationOffi
 import OpInvitationOfficialActivityData from '@/components/Resource/OpInvitationOfficialActivityData';
 import OfficialActivities from '@/components/Resource/OfficialActivities'
 import OpOfficialActivities from '@/components/Resource/OpOfficialActivities'
+import AskData from '@/components/Resource/AskData'
 
 Vue.use(Router)
 
@@ -384,6 +385,11 @@ export default new Router({
           name: 'OpOfficialActivities',
           component: OpOfficialActivities
         },
+        {
+          path: '/home/AskData',
+          name: 'AskData',
+          component: AskData
+        }
       ]
     },
     {