Bläddra i källkod

Merge branch 'master' of http://119.23.210.103:3000/wy/zdqy_firm_former

cfort 1 år sedan
förälder
incheckning
b2c441adbc
2 ändrade filer med 244 tillägg och 68 borttagningar
  1. 117 45
      src/views/infosManage/fileIE.vue
  2. 127 23
      src/views/system/fasc/facilityEnvConfig.vue

+ 117 - 45
src/views/infosManage/fileIE.vue

@@ -126,12 +126,77 @@
                 <div style="width:100%;color:#555;text-align:center; font-size:20px;font-weight:600;">更新文件信息</div>
             </template>
             <div class="motaikuan">
-                <el-form ref="dialogForm" :model="dialogForm" :rules="rules">
+                <el-form ref="dialogForm" :model="dialogForm" label-width="120px" :rules="rules">
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="文件类型:">
+                            <div>{{ dialogForm.wen_jian_lei_xing?dialogForm.wen_jian_lei_xing:'/' }}</div>
+                        </el-form-item></el-col>
+                        <el-col :span="12"> <el-form-item label="文件编号:">
+                            <div>{{ dialogForm.wen_jian_bian_hao?dialogForm.wen_jian_bian_hao:'/' }}</div>
+                        </el-form-item></el-col>
+                    </el-row>
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="原文件名称:">
+                            <div>{{ dialogForm.wen_jian_bian_hao?dialogForm.wen_jian_bian_hao:'/' }}</div>
+                        </el-form-item></el-col>
+                        <el-col :span="12"> <el-form-item label="新文件名称:">
+                            <el-input v-model="dialogForm.xin_wen_jian_ming" placeholder="请输入内容" />
+                        </el-form-item></el-col>
+                    </el-row>
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="发布时间:" prop="fa_bu_shi_jian_">
+                            <el-date-picker
+                                v-model="dialogForm.fa_bu_shi_jian_"
+                                :picker-options="{ disabledDate(time) { return time.getTime() > Date.now(); } }"
+                                type="datetime"
+                                placeholder="选择日期时间"
+                                format="yyyy-MM-dd HH:mm"
+                                value-format="yyyy-MM-dd HH:mm"
+                                style="width:100%"
+                            />
+                        </el-form-item></el-col>
+                        <el-col :span="12"> <el-form-item label="生效时间:" prop="sheng_xiao_shi_">
+                            <el-date-picker v-model="dialogForm.sheng_xiao_shi_" :picker-options="{ disabledDate(time) { return time.getTime() <= Date.now(); } }" type="date" placeholder="选择日期" style="width:100%" />
+                        </el-form-item></el-col>
+                    </el-row>
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="上传文件:" prop="wen_jian_fu_jian_">
+                            <ibps-attachment
+                                v-model="dialogForm.wen_jian_fu_jian_"
+                                allow-download
+                                download
+                                multiple
+                                accept="*"
+                                store="id"
+                                :readonly="false"
+                            />
+                        </el-form-item></el-col>
+
+                    </el-row>
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="更新内容:">
+                            <el-input v-model="dialogForm.geng_xin_nei_rong" placeholder="请输入内容" />
+                        </el-form-item></el-col>
+
+                    </el-row>
+                    <el-row :gutter="80" style="margin:2% 0">
+                        <el-col :span="12"> <el-form-item label="更新原因:">
+                            <el-input v-model="dialogForm.geng_xin_yuan_yin" placeholder="请输入内容" />
+                        </el-form-item></el-col>
+                    </el-row>
+                    <el-form-item class="footer-btn" style=" text-align: center;">
+                        <el-button type="primary" @click="dialogVisibleClick('dialogForm')">确定</el-button>
+                        <el-button @click="dialogVisible1 = false">取消</el-button>
+                    </el-form-item>
+
+                </el-form>
+
+                <!-- <el-form ref="dialogForm" :model="dialogForm" :rules="rules">
                     <el-row :gutter="80" label-width="80" style="margin:2% 0">
                         <el-col :span="12">
                             <el-row :gutter="20">
                                 <el-col :span="5"><div class="grid-content bg-purple">文件类型</div></el-col>
-                                <el-col :span="19"><div class="grid-content bg-purple">{{ dialogForm.wen_jian_lei_xing?dialogForm.wen_jian_lei_xing:'/' }}</div></el-col>
+                                <el-col :span="19"> {{ dialogForm.wen_jian_lei_xing?dialogForm.wen_jian_lei_xing:'/' }}</el-col>
                             </el-row>
                         </el-col>
                         <el-col :span="12">
@@ -141,7 +206,6 @@
                                 <el-col :span="19"><div class="grid-content bg-purple">{{ dialogForm.wen_jian_bian_hao?dialogForm.wen_jian_bian_hao:'/' }}</div></el-col>
                             </el-row>
 
-                            <!-- <el-form-item label="文件编号"> {{ dialogForm.wen_jian_bian_hao }}</el-form-item> -->
                         </el-col>
                     </el-row>
                     <el-row :gutter="80" label-width="80" style="margin:2% 0">
@@ -163,15 +227,24 @@
                     <el-row :gutter="80" label-width="80" style="margin:2% 0">
                         <el-col :span="12">
                             <el-row :gutter="20">
-                                <el-col :span="5" style="margin-top:1%"><div class="grid-content bg-purple">发布时间</div></el-col>
-                                <el-col :span="19"><div class="grid-content bg-purple"> <el-date-picker v-model="dialogForm.fa_bu_shi_jian_" value-format="timestamp" type="date" placeholder="选择日期" :picker-options="{ disabledDate(time) { return time.getTime() > Date.now(); } }" style="width:100%" /></div></el-col>
+                                <el-col :span="5" style="margin-top:1%"><div class="grid-content bg-purple"><span style="color:red">*</span>发布时间</div></el-col>
+                                <el-col :span="19">
+                                    <el-date-picker
+                                        v-model="dialogForm.fa_bu_shi_jian_"
+                                        :picker-options="{ disabledDate(time) { return time.getTime() > Date.now(); } }"
+                                        type="datetime"
+                                        placeholder="选择日期时间"
+                                        format="yyyy-MM-dd HH:mm"
+                                        value-format="yyyy-MM-dd HH:mm"
+                                        style="width:100%"
+                                    />
+                                </el-col>
                             </el-row>
-
                         </el-col>
                         <el-col :span="12">
                             <el-row :gutter="20">
-                                <el-col :span="5" style="margin-top:1%"><div class="grid-content bg-purple">生效时间</div></el-col>
-                                <el-col :span="19"><div class="grid-content bg-purple">  <el-date-picker v-model="dialogForm.sheng_xiao_shi_" value-format="timestamp" type="date" placeholder="选择日期" :picker-options="{ disabledDate(time) { return time.getTime() <= Date.now(); } }" style="width:100%" /></div></el-col>
+                                <el-col :span="5" style="margin-top:1%"><div class="grid-content bg-purple"><span style="color:red">*</span>生效时间</div></el-col>
+                                <el-col :span="19">  <el-date-picker v-model="dialogForm.sheng_xiao_shi_" :picker-options="{ disabledDate(time) { return time.getTime() <= Date.now(); } }" type="date" placeholder="选择日期" style="width:100%" /></el-col>
                             </el-row>
 
                         </el-col>
@@ -210,12 +283,13 @@
                             </el-row>
                         </el-col>
                     </el-row>
-                </el-form>
+                    <el-form-item />
+                </el-form> -->
             </div>
-            <div slot="footer" class="dialog-footer" style="width:100%;text-align:center;">
+            <!-- <div slot="footer" class="dialog-footer" style="width:100%;text-align:center;">
                 <el-button @click="dialogVisible1 = false">取 消</el-button>
                 <el-button type="primary" @click="dialogVisibleClick()">确 定</el-button>
-            </div>
+            </div> -->
 
         </el-dialog>
     </div>
@@ -261,7 +335,12 @@ export default {
             }
         }
         return {
-            rules: { name: [] },
+            rules: {
+                fa_bu_shi_jian_: [{ required: true, message: this.$t('validate.required') }],
+                sheng_xiao_shi_: [{ required: true, message: this.$t('validate.required') }],
+                wen_jian_fu_jian_: [{ required: true, message: this.$t('validate.required') }]
+            },
+
             dialogVisible1: false,
             showCaoZuoColumn: false,
             dialogForm: {
@@ -419,44 +498,37 @@ export default {
             const day = ('0' + timeDate.getDate()).slice(-2)
             return `${year}-${month}-${day}`
         },
-        dialogVisibleClick () {
-            // console.log('点击确定', this.dataShow(this.dialogForm.sheng_xiao_shi_))
-            this.dialogForm.sheng_xiao_shi_ = this.dataShow(this.dialogForm.sheng_xiao_shi_)
-            this.dialogForm.fa_bu_shi_jian_ = this.dataShow(this.dialogForm.fa_bu_shi_jian_)
-            const params = {
-                tableName: 't_wjxxgxb',
-                paramWhere: [this.dialogForm]
-            }
-            if (this.dialogForm.wen_jian_fu_jian_ === '') {
-                this.$message.warning('请先上传文件')
-            } else {
-                this.$common.request('add', params).then(res => {
-                // console.log('新增数据成功', res)
-                    this.$message.success('添加成功!')
-                    this.dialogVisible1 = false
-                }).catch(err => {
-                    console.log(err)
-                    this.$message.error('添加失败')
-                })
-            }
+        dialogVisibleClick (dialogForm) {
+            this.$refs[dialogForm]?.validate((valid) => {
+                if (valid) {
+                    const params = {
+                        tableName: 't_wjxxgxb',
+                        paramWhere: [this.dialogForm]
+                    }
+                    this.dialogForm.sheng_xiao_shi_ = this.dataShow(this.dialogForm.sheng_xiao_shi_)
+                    this.$common.request('add', params).then(res => {
+                        this.$message.success('添加成功!')
+                        this.dialogVisible1 = false
+                    }).catch(err => {
+                        console.log(err)
+                        this.$message.error('添加失败')
+                    })
+                }
+            })
         },
         // 外部文件更新
         updateDate (data) {
             console.log('data', data)
             this.dialogVisible1 = true
-            const sql = `select * from t_wjxxb WHERE id_='${data.row.id}'`
-            this.$common.request('sql', sql).then(res => {
-                console.log('res', res.variables.data[0])
-                this.dialogForm.wen_jian_lei_xing = res.variables.data[0].wen_jian_lei_xing
-                this.dialogForm.wen_jian_bian_hao = res.variables.data[0].wen_jian_bian_hao
-                this.dialogForm.yuan_wen_jian_min = res.variables.data[0].wen_jian_ming_che
-                this.dialogForm.fa_bu_shi_jian_ = res.variables.data[0].fa_bu_shi_jian_
-                // this.dialogForm.wen_jian_fu_jian = res.variables.data[0].wen_jian_fu_jian_
-                this.dialogForm.ji_lu_id_ = res.variables.data[0].id_
-                this.dialogForm.yuan_wen_jian_id_ = res.variables.data[0].wen_jian_fu_jian_
-            }).catch(err => {
-                console.log(err)
-            })
+            this.dialogForm.wen_jian_lei_xing = data.row.wen_jian_xi_lei_
+            this.dialogForm.wen_jian_bian_hao = data.row.wen_jian_bian_hao
+            this.dialogForm.yuan_wen_jian_min = data.row.wen_jian_ming_che
+            this.dialogForm.xin_wen_jian_ming = ''
+            this.dialogForm.wen_jian_fu_jian_ = ''
+            this.dialogForm.geng_xin_nei_rong = ''
+            this.dialogForm.geng_xin_yuan_yin = ''
+            this.dialogForm.fa_bu_shi_jian_ = ''
+            this.dialogForm.sheng_xiao_shi_ = ''
         },
         handleClose (done) {
             this.$confirm('确认关闭?')

+ 127 - 23
src/views/system/fasc/facilityEnvConfig.vue

@@ -10,6 +10,12 @@
         class="dialog paper-detail-dialog"
         top="0"
     >
+        <div slot="title" class="dialog-title">
+            <span>{{ title }}</span>
+            <div>
+                <ibps-toolbar :actions="toolbars" @action-event="handleActionEvent" />
+            </div>
+        </div>
         <div class="container">
             <div class="main">
                 <div class="form">
@@ -181,24 +187,68 @@
                         </el-row>
                     </el-form>
                 </div>
+                <el-divider />
                 <div class="table">
-                    <div class="btn">
-                        <el-upload
-                            ref="uploadRef"
-                            class="upload-demo"
-                            action=""
-                            accept=".xlsx,.xls"
-                            :auto-upload="false"
-                            :show-file-list="false"
-                            :on-change="handleUploadChange"
-                        >
-                            <el-button type="primary" size="mini" icon="el-icon-upload2">导入</el-button>
-                        </el-upload>
-                        <el-button type="primary" size="mini" icon="el-icon-download" @click="exportExcel">导出</el-button>
-                        <el-button type="success" size="mini" icon="el-icon-plus" @click="openDialog">添加</el-button>
+                    <div class="hearder">
+                        <div v-if="isEdit" class="search">
+                            <div class="search-item">
+                                <span>部门</span>
+                                <ibps-user-selector
+                                    v-model="search.buMen"
+                                    type="position"
+                                    readonly-text="text"
+                                    :disabled="false"
+                                    :multiple="false"
+                                    style="width:100%"
+                                    size="mini"
+                                />
+                            </div>
+                            <div class="search-item">
+                                <span>区域</span>
+                                <el-input v-model="search.quYu" size="mini" style="width:100%" placeholder="请输入" />
+                            </div>
+                            <div class="search-item">
+                                <span>房间</span>
+                                <el-input v-model="search.fangJian" size="mini" style="width:100%" placeholder="请输入" />
+                            </div>
+                            <div class="search-item">
+                                <span>监测周期</span>
+                                <el-input v-model="search.zhouQi" size="mini" style="width:66%" placeholder="请输入" />
+                            </div>
+                            <div class="search-item">
+                                <span>监测岗位</span>
+                                <el-select v-model="search.gangWei" placeholder="请选择" size="mini" style="width:66%" :clearable="true">
+                                    <el-option
+                                        v-for="item in jianCeGangWeiList"
+                                        :key="item.id_"
+                                        :label="item.wei_hu_gang_wei_"
+                                        :value="item.wei_hu_gang_wei_"
+                                    />
+                                </el-select>
+                            </div>
+                            <div class="search-item">
+                                <el-button size="mini" type="primary" icon="el-icon-search" @click="goSearch">查询</el-button>
+                            </div>
+
+                        </div>
+                        <div class="btn">
+                            <el-upload
+                                ref="uploadRef"
+                                class="upload-demo"
+                                action=""
+                                accept=".xlsx,.xls"
+                                :auto-upload="false"
+                                :show-file-list="false"
+                                :on-change="handleUploadChange"
+                            >
+                                <el-button type="primary" size="mini" icon="el-icon-upload2">导入</el-button>
+                            </el-upload>
+                            <el-button type="primary" size="mini" icon="el-icon-download" @click="exportExcel">导出</el-button>
+                            <el-button type="success" size="mini" icon="el-icon-plus" @click="openDialog">添加</el-button>
 
-                        <el-button type="danger" size="mini" icon="el-icon-delete" @click="removeItem">删除</el-button>
-                        <el-button v-if="subForm.length>0" type="info" size="mini" icon="el-icon-setting" @click="settingData">使用默认数据</el-button>
+                            <el-button type="danger" size="mini" icon="el-icon-delete" @click="removeItem">删除</el-button>
+                            <el-button v-if="trueList.length>0" type="info" size="mini" icon="el-icon-setting" @click="settingData">使用默认数据</el-button>
+                        </div>
                     </div>
                     <el-table
                         :data="showPaperList"
@@ -294,7 +344,7 @@
                         :page-sizes="[10, 20,30, 50]"
                         :page-size="pageSize"
                         layout="prev,pager,next,jumper,sizes,->,total"
-                        :total="subForm.length"
+                        :total="trueList.length"
                         @size-change="handleSizeChange"
                         @current-change="handleCurrentChange"
                     />
@@ -302,10 +352,6 @@
             </div>
 
         </div>
-        <div slot="footer" class="el-dialog--center">
-            <ibps-toolbar :actions="toolbars" @action-event="handleActionEvent" />
-        </div>
-
         <FecDialog ref="FecDialogRef" @onSubmit="sonSubmit" />
     </el-dialog>
 </template>
@@ -336,6 +382,15 @@ export default {
     data () {
         const { userId, level = {}} = this.$store.getters || {}
         return {
+            search: {
+                buMen: '',
+                quYu: '',
+                fangJian: '',
+                gangWei: '',
+                zhouQi: ''
+            },
+            searchData: [],
+            isSearch: false,
             level: level.second || level.first,
             userId: userId,
             pageSize: 10,
@@ -474,10 +529,15 @@ export default {
         }
     },
     computed: {
+        // 分页结果
         showPaperList () {
             const start = (this.currentPage - 1) * this.pageSize
             const end = start + this.pageSize
-            return this.subForm.slice(start, end)
+            return this.trueList.slice(start, end)
+        },
+        // 过滤结果
+        trueList () {
+            return this.isSearch ? this.searchData : this.subForm
         },
         isShowDevice () {
             return this.form.lei_xing_ !== '01-室内温湿度监控' && this.form.lei_xing_ !== '06-每日安全检查' && this.form.lei_xing_ !== '08-含氯有效性监测'
@@ -1026,6 +1086,7 @@ export default {
             } else {
                 this.subForm.push(temp_form)
             }
+            this.isEdit && this.goSearch()
             this.$refs.FecDialogRef.close()
         },
         // 关闭当前窗口
@@ -1047,6 +1108,7 @@ export default {
                         const index = this.subForm.indexOf(item)
                         this.subForm.splice(index, 1)
                     })
+                    this.isEdit && this.goSearch()
                     this.$message.success('删除成功!')
                     this.multipleSelection = []
                 }).catch(() => {
@@ -1403,6 +1465,23 @@ export default {
         // 获取当前季度
         getQuarter (date) {
             return Math.floor(date.getMonth() / 3) + 1
+        },
+        // 查询
+        goSearch () {
+            console.log(this.search)
+            if (!this.search.buMen && !this.search.quYu && !this.search.fangJian && !this.search.zhouQi && !this.search.gangWei) {
+                this.isSearch = false
+            } else {
+                // 条件过滤
+                const searchData = this.subForm
+                    .filter(item => item.bu_men_.indexOf(this.search.buMen) > -1)
+                    .filter(item => item.qu_yu_.indexOf(this.search.quYu) > -1)
+                    .filter(item => item.fang_jian_.indexOf(this.search.fangJian) > -1)
+                    .filter(item => item.jian_ce_zhou_qi_.indexOf(this.search.zhouQi) > -1)
+                    .filter(item => item.jian_ce_gang_wei_.indexOf(this.search.gangWei) > -1)
+                this.isSearch = true
+                this.searchData = searchData
+            }
         }
     }
 }
@@ -1415,6 +1494,15 @@ export default {
             text-align: center;
         }
     }
+    .dialog-title{
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    div{
+        position: absolute;
+        right:20px;
+    }
+}
 .container {
         display: flex;
         width: 100%;
@@ -1422,7 +1510,7 @@ export default {
 
         .main{
             width: 80%;
-            height: calc(100vh - 135px);
+            height: calc(100vh - 70px);
             box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
             padding:20px;
             // overflow-y: auto;
@@ -1438,6 +1526,22 @@ export default {
                 }
             }
         }
+        .table{
+            .search{
+                display: flex;
+                align-items: center;
+                .search-item{
+                    span{
+                        width: 60px;
+                        margin-right: 10px;
+                    }
+                    display: flex;
+                    align-items: center;
+                    width: 200px;
+                    margin: 0 10px 0 10px;
+                }
+            }
+        }
 
     }
 }