浏览代码

湾办录入权限

gks 1 年之前
父节点
当前提交
e4ca5172de
共有 3 个文件被更改,包括 201 次插入96 次删除
  1. 141 61
      src/views/ARTICLE/index.vue
  2. 59 34
      src/views/GATHER/index.vue
  3. 1 1
      src/views/system/user/index.vue

+ 141 - 61
src/views/ARTICLE/index.vue

@@ -20,9 +20,10 @@
             v-for="item in bsqList"
             :key="item.value"
             :label="item.deptName"
-            :value="item.deptId">
+            :value="item.deptId"
+          >
           </el-option>
-      </el-select>
+        </el-select>
       </el-form-item>
 
       <el-form-item label="建设规模">
@@ -101,7 +102,7 @@
           icon="el-icon-edit"
           @click="handleInsert"
           v-hasPermi="['business:ARTICLE:insert']"
-        >设置重点项目录入开放时间</el-button
+          >设置重点项目录入开放时间</el-button
         >
       </el-col>
 
@@ -112,7 +113,7 @@
           icon="el-icon-search"
           @click="handleSelect"
           v-hasPermi="['business:ARTICLE:ArticleHis']"
-        >查看历史记录</el-button
+          >查看历史记录</el-button
         >
       </el-col>
       <right-toolbar
@@ -122,34 +123,59 @@
     </el-row>
 
     <el-table :data="ARTICLEList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" :selectable="selected"></el-table-column>
-      <el-table-column label="保税区名称" width="150" show-overflow-tooltip align="center"  prop="deptName">
+      <el-table-column
+        type="selection"
+        :selectable="selected"
+      ></el-table-column>
+      <el-table-column
+        label="保税区名称"
+        width="150"
+        show-overflow-tooltip
+        align="center"
+        prop="deptName"
+      >
         <template slot-scope="scope">
           {{ scope.row.deptName }}
         </template>
       </el-table-column>
-      <el-table-column label="项目名称" width="180" show-overflow-tooltip   align="center" prop="atvName">
+      <el-table-column
+        label="项目名称"
+        width="180"
+        show-overflow-tooltip
+        align="center"
+        prop="atvName"
+      >
         <template slot-scope="scope">
           {{ scope.row.atvName }}
         </template>
       </el-table-column>
-      <el-table-column label="建设规模" show-overflow-tooltip align="center" prop="scale">
-         <template slot-scope="scope">
+      <el-table-column
+        label="建设规模"
+        show-overflow-tooltip
+        align="center"
+        prop="scale"
+      >
+        <template slot-scope="scope">
           {{ scope.row.scale }}
-         <!-- <el-tag v-if="scope.row.scale == 1" type="success">小型</el-tag>
+          <!-- <el-tag v-if="scope.row.scale == 1" type="success">小型</el-tag>
           <el-tag v-else-if="scope.row.scale == 2" type="success">中型</el-tag>
           <el-tag v-else-if="scope.row.scale == 3" type="success">大型</el-tag>-->
-        </template> 
+        </template>
       </el-table-column>
-        
-      <el-table-column label="年度投资计划(万)" width="180"   show-overflow-tooltip align="center" prop="plan">
+
+      <el-table-column
+        label="年度投资计划(万)"
+        width="180"
+        show-overflow-tooltip
+        align="center"
+        prop="plan"
+      >
         <template slot-scope="scope">
           {{ scope.row.plan }}
         </template>
       </el-table-column>
       <el-table-column
-      width="180" 
-
+        width="180"
         label="总投资金额(万)"
         align="center"
         prop="totalPlan"
@@ -161,7 +187,7 @@
       </el-table-column>
       <el-table-column
         label="实际完成投资额(万)"
-        width="180" 
+        width="180"
         align="center"
         prop="reality"
         show-overflow-tooltip
@@ -170,7 +196,13 @@
           {{ scope.row.reality }}
         </template>
       </el-table-column>
-      <el-table-column label="投资完成百分比" width="180"  show-overflow-tooltip align="center" prop="retio">
+      <el-table-column
+        label="投资完成百分比"
+        width="180"
+        show-overflow-tooltip
+        align="center"
+        prop="retio"
+      >
         <template slot-scope="scope">
           {{
             scope.row.retio
@@ -179,12 +211,24 @@
           }}
         </template>
       </el-table-column>
-      <el-table-column label="形象进度" width="200"  show-overflow-tooltip align="center" prop="schedule">
+      <el-table-column
+        label="形象进度"
+        width="200"
+        show-overflow-tooltip
+        align="center"
+        prop="schedule"
+      >
         <template slot-scope="scope">
           {{ scope.row.schedule }}
         </template>
       </el-table-column>
-      <el-table-column label="项目审核状态" width="180"  show-overflow-tooltip  align="center" prop="status">
+      <el-table-column
+        label="项目审核状态"
+        width="180"
+        show-overflow-tooltip
+        align="center"
+        prop="status"
+      >
         <template slot-scope="scope">
           <el-tag v-if="scope.row.status == 0">草稿</el-tag>
           <el-tag v-else-if="scope.row.status == 1" type="info">审核中</el-tag>
@@ -202,7 +246,7 @@
         align="center"
         class-name="small-padding fixed-width"
         fixed="right"
-         width="140"
+        width="140"
       >
         <template slot-scope="scope">
           <el-button
@@ -242,7 +286,7 @@
             v-if="scope.row.status == 0"
             @click="handleDelete(scope.row)"
             v-hasPermi="['business:ARTICLE:remove']"
-          >删除</el-button
+            >删除</el-button
           >
         </template>
       </el-table-column>
@@ -257,14 +301,21 @@
     />
 
     <!-- 设置重点项目录入开放时间对话框 -->
-    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      :close-on-click-modal="false"
+      width="500px"
+      append-to-body
+    >
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="开放时间" prop="beginTime">
           <el-date-picker
             v-model="form.beginTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择日期">
+            placeholder="选择日期"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="截止时间" prop="endTime">
@@ -272,7 +323,8 @@
             v-model="form.endTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择日期">
+            placeholder="选择日期"
+          >
           </el-date-picker>
         </el-form-item>
       </el-form>
@@ -283,8 +335,24 @@
     </el-dialog>
 
     <!-- 历史记录 -->
-    <el-dialog :title="historyTitle" :visible.sync="history" :close-on-click-modal="false" width="500px" append-to-body>
-      <h1>历史记录</h1>
+    <el-dialog
+      :title="historyTitle"
+      :visible.sync="history"
+      :close-on-click-modal="false"
+      width="40%"
+      append-to-body
+    >
+      <el-timeline>
+        <el-timeline-item v-for="(item,index) in historyList" :timestamp="'版本:'+item.version" placement="top">
+          <el-card>
+            <!-- <h4>状态:{{ item.status }}</h4> -->
+            <p>开放时间:{{ item.beginTime }}</p>
+            <p>截止时间:{{ item.endTime }}</p>
+
+          </el-card>
+        </el-timeline-item>
+        
+      </el-timeline>
       <!-- <el-timeline>
           <el-timeline-item
             v-for="(item, index) in form.taskVoList"
@@ -325,17 +393,17 @@ import {
   articleDate,
   getqueryArticleDate,
   getqueryArticleHisDate,
-} from '@/api/portal/ARTICLE/ARTICLE.js'
+} from "@/api/portal/ARTICLE/ARTICLE.js";
 import edit from "./edit.vue";
 import enterData from "./enterData.vue";
 import detail from "./detail.vue";
-import {listDept} from "@/api/system/dept";
-
+import { listDept } from "@/api/system/dept";
+import {formatDate} from "@/utils/index.js";
 export default {
   name: "ARTICLE",
   data() {
     return {
-      bsqList:[],
+      bsqList: [],
       isButtonDisabled: false,
       scaleList: [
         { label: "小型", value: 1 },
@@ -367,8 +435,9 @@ export default {
       // 弹出层标题
       title: "",
       // 历史记录列表
-      historyTitle:"",
-      history:false,
+      historyTitle: "",
+      history: false,
+      historyList:[],
       // 是否显示弹出层
       open: false,
       // 查询参数
@@ -391,18 +460,18 @@ export default {
         reality: null,
         retio: null,
         schedule: null,
-        least:null,
-        most:null
+        least: null,
+        most: null,
       },
       deptId: "",
       // 表单参数
       form: {
-        beginTime: '',
-        endTime: ''
+        beginTime: "",
+        endTime: "",
       },
       rules: {
         beginTime: [
-          { required: true, message: "开始时间不能为空", trigger: "blur" }
+          { required: true, message: "开始时间不能为空", trigger: "blur" },
         ],
         endTime: [
           { required: true, message: "截止时间不能为空", trigger: "blur" },
@@ -414,17 +483,17 @@ export default {
                 callback();
               }
             },
-            trigger: "blur"
-          }
-        ]
-      }
+            trigger: "blur",
+          },
+        ],
+      },
     };
   },
   created() {
-    listDept({type:2}).then(res=>{
+    listDept({ type: 2 }).then((res) => {
       this.bsqList = res.data;
       console.log(res);
-    })
+    });
     this.getList();
     this.getDeptId();
     this.getqueryArticleDate();
@@ -432,15 +501,16 @@ export default {
   methods: {
     //选择规则
     selected(row, index) {
-      if (row.status != 0) { // 选择多选框的功能就拿来批量删除,所以不是草稿禁选
-        return false
+      if (row.status != 0) {
+        // 选择多选框的功能就拿来批量删除,所以不是草稿禁选
+        return false;
       } else {
         return true;
       }
     },
     //获取填报时间
     getqueryArticleDate() {
-      getqueryArticleDate().then(res => {
+      getqueryArticleDate().then((res) => {
         const beginTime = new Date(res.data.beginTime);
         const endTime = new Date(res.data.endTime);
         const currentTime = new Date();
@@ -448,7 +518,7 @@ export default {
         // 检查当前时间是否在 beginTime 和 endTime 范围内
         if (currentTime < beginTime || currentTime > endTime) {
           this.isButtonDisabled = true;
-          this.$message.warning('当前日期不在填报时间范围内')
+          this.$message.warning("当前日期不在填报时间范围内");
         }
       });
     },
@@ -494,8 +564,8 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false;
-      this.form.beginTime = '';
-      this.form.endTime = '';
+      this.form.beginTime = "";
+      this.form.endTime = "";
     },
     /** 搜索按钮操作 */
     handleQuery() {
@@ -556,33 +626,43 @@ export default {
         .catch(() => {});
     },
     //设置重点项目录入开放时间
-    handleInsert(){
+    handleInsert() {
       this.open = true;
       this.title = "设置重点项目录入开放时间";
     },
 
     // 查看历史记录
-    handleSelect(){
-      getqueryArticleHisDate().then(res=>{
-        console.log(res.data);
-      })
+    handleSelect() {
+      this.history = true;
+      this.historyTitle = "查看历史记录";
+      getqueryArticleHisDate().then((res) => {
+        this.historyList = res.data;
+        this.historyList.forEach(item=>{
+          item.beginTime = formatDate(item.beginTime);
+          item.endTime = formatDate(item.endTime);
+        })
+        
+      });
     },
-    submitForm(){
+    submitForm() {
       if (new Date(this.form.endTime) < new Date(this.form.beginTime)) {
-        this.$message.error('截止时间不能早于开始时间');
-        return
+        this.$message.error("截止时间不能早于开始时间");
+        return;
       }
-      const timeData = [new Date(this.form.beginTime).getTime(), new Date(this.form.endTime).getTime()];
+      const timeData = [
+        new Date(this.form.beginTime).getTime(),
+        new Date(this.form.endTime).getTime(),
+      ];
 
-      articleDate(timeData).then(res => {
+      articleDate(timeData).then((res) => {
         if (res.code == 200) {
           this.$modal.msgSuccess("设置重点项目录入开放时间成功");
           this.open = false;
           this.getList();
           this.getqueryArticleDate();
         }
-      })
-    }
+      });
+    },
   },
 };
 </script>

+ 59 - 34
src/views/GATHER/index.vue

@@ -290,7 +290,7 @@
         <template slot-scope="scope">
           <template
             v-if="
-              scope.row.collStatus == 0 && checkPermi(['gather:GATHER:add'])
+              scope.row.collStatus == 0 && checkPermi(['gather:GATHER:typein'])
             "
           >
             <el-button
@@ -303,6 +303,19 @@
           </template>
 
           <template
+            v-if="(scope.row.collStatus == 0 || scope.row.collStatus == 1||scope.row.collStatus == 2) && (scope.row.approveStatus == 0 || scope.row.approveStatus == 3)
+             && checkPermi(['gather:GATHER:admin'])"
+          >
+            <el-button
+              style="margin: 0 2px"
+              size="mini"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              >湾办录入</el-button
+            >
+          </template>
+
+          <template
             v-if="
               scope.row.collStatus == 1 &&
               (scope.row.approveStatus == 0 || scope.row.approveStatus == 3) &&
@@ -473,7 +486,7 @@
       center
       :title="title"
       :visible.sync="open"
-      width="95%"
+      width="80%"
       append-to-body
       :close-on-click-modal="false"
     >
@@ -483,23 +496,23 @@
         type="border-card"
         @tab-click="handleClick"
       > -->
-        <div>
+        
 
        <div 
        v-for="(item, index) in tabList"
           :key="index + 'tabs'"
           :label="item.normName"
           :name="item.normName"
-          style="margin:0 auto;"
        >
 
-       <el-col :span="16" v-if="index % 2 == 0"  
-       style="padding:10px;border:1px solid rgba(0, 0, 0, .05);width: 66%;margin: 5px;"
+       <el-col :span="24"   
+       style="border:1px solid rgba(0, 0, 0, .05); margin-bottom: 5px; padding: 4px;"
        >
-        {{ item.normName }}
+        <p style="font-weight: 600;margin:0;margin-bottom: 5px; font-size: 17px;">{{ item.normName }}</p>
         
           <template v-for="listItem in form.feeLists">
               <el-form
+              
                 v-if="listItem.normId == item.normId"
                 :rules="
                   validatorList(
@@ -513,8 +526,9 @@
                 :key="listItem.normfeeId"
                 :disabled="listItem.sendValue == 1"
               >
-                <el-col :span="12">
+                <el-col :span="6">
                   <el-form-item
+
                   style="padding:10px;"
                     :label="
                       listItem.normfeeName + '(' + listItem.funitName + ')'
@@ -534,7 +548,7 @@
 
 
       </el-col>
-          <el-col :span="8" v-else 
+          <!-- <el-col :span="8" v-else 
           style="padding:10px;border:1px solid rgba(0, 0, 0, .05);width: 32%;margin: 5px;"
           >
             {{ item.normName }}
@@ -569,7 +583,7 @@
                 </el-col>
               </el-form>
             </template>
-          </el-col>
+          </el-col> -->
         
          <!-- <template v-for="listItem in form.feeLists">
               <el-form
@@ -604,12 +618,12 @@
             </template> -->
        
        </div>
-        </div>
+        
       <!-- </el-tabs> -->
       
       <div slot="footer" class="dialog-footer">
         <el-button v-if="checkPermi(['gather:GATHER:add'])" type="primary" @click="submitForm('add')">确 定</el-button>
-        <el-button v-if="checkPermi(['gather:GATHER:add'])" @click="submitForm('draft')" type="warning">暂 存</el-button>
+        <el-button v-if="checkPermi(['gather:GATHER:draft'])" @click="submitForm('draft')" type="warning">暂 存</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -620,42 +634,50 @@
       @close="handleClose"
       :title="title"
       :visible.sync="openDetail"
-      width="50%"
+      width="80%"
       append-to-body
       :close-on-click-modal="false"
     >
-      <el-tabs
-        v-if="this.form.type == 0"
-        v-model="activeName"
-        type="border-card"
-        @tab-click="handleClick"
-      >
-        <el-tab-pane
-          v-for="(item, index) in tabList"
+    <div 
+       v-for="(item, index) in tabList"
           :key="index + 'tabs'"
           :label="item.normName"
           :name="item.normName"
-        >
-          <el-row :gutter="10">
-            <template v-for="listItem in form.feeLists">
+       >
+
+       <el-col :span="24"   
+       style="border:1px solid rgba(0, 0, 0, .05); margin-bottom: 5px; padding: 4px"
+       >
+        <p style="font-weight: 600;margin:0; margin-bottom: 5px; font-size: 17px;">{{ item.normName }}</p>
+        
+          <template v-for="listItem in form.feeLists">
               <el-form
+              
                 v-if="listItem.normId == item.normId"
+                :rules="
+                  validatorList(
+                    listItem.normfeeCode,
+                    listItem.normfeeName,
+                    listItem.sendValue
+                  )
+                "
                 :model="listItem"
                 :ref="'form' + listItem.normfeeId"
-                :rules="rules"
                 :key="listItem.normfeeId"
                 :disabled="listItem.sendValue == 1"
               >
-                <el-col :span="12">
+                <el-col :span="6">
                   <el-form-item
-                    prop="collCalue"
+
+                  style="padding:10px;"
                     :label="
                       listItem.normfeeName + '(' + listItem.funitName + ')'
                     "
+                    prop="collCalue"
                   >
 
                     <el-input
-                      :disabled="!edit"
+                    :disabled="!edit"
                       v-model="listItem.collCalue"
                       :placeholder="'请输入' + listItem.normfeeName"
                     ></el-input>
@@ -663,12 +685,8 @@
                 </el-col>
               </el-form>
             </template>
-          </el-row>
-
-         
-        </el-tab-pane>
-      </el-tabs>
-
+        </el-col>
+</div>
       
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm('edit')" v-if="edit"
@@ -1382,6 +1400,13 @@ export default {
 </script>
 
 <style scoped lang="scss">
+.el-form-item{
+  margin-right: 5px;
+  padding: 0 !important;
+}
+::v-deep .el-form-item .el-form-item__label{
+  font-size: 13px !important;
+}
 .remark {
   margin-top: 20px;
 

+ 1 - 1
src/views/system/user/index.vue

@@ -20,7 +20,7 @@
             :expand-on-click-node="false"
             :filter-node-method="filterNode"
             ref="tree"
-            default-expand-all
+            :default-expand-all="false"
             highlight-current
             @node-click="handleNodeClick"
           />