qinbai 3 éve
szülő
commit
c7b1fa2291

+ 1 - 1
src/api/workManagement/mainProject.js

@@ -90,6 +90,6 @@ export function getUserList(params) {
   return request({
     url: '/api/blade-user/userList',
     method: 'get',
-    params:{params}
+    params:params
   })
 }

+ 6 - 9
src/components/mainProject/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-row style="height: 0;">
+    <el-row>
       <el-col :span="5" >
         <div>
           <el-scrollbar>
@@ -24,12 +24,12 @@
                      @on-load="serviceOnLoad">
           </avue-crud>
         </basic-container>
+        <div style="float: right;margin: 8px">
+          <el-button type="primary" size="small" @click="serviceConfirm()" :disabled="this.serviceSelectList.length == 0">导 入</el-button>
+          <el-button size="small" @click="$emit('chose')">取 消</el-button>
+        </div>
       </el-col>
     </el-row>
-    <span slot="footer" class="dialog-footer">
-          <el-button type="primary" size="small" @click="serviceConfirm()" :disabled="this.serviceSelectList.length == 0">导 入</el-button>
-         <el-button size="small" @click="$emit('chose')">取 消</el-button>
-        </span>
   </div>
 </template>
 
@@ -119,8 +119,5 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-  .dialog-footer {
-    display: flex;
-    float: right;
-  }
+
 </style>

+ 37 - 2
src/views/workManagement/main-items/list.vue

@@ -21,6 +21,21 @@
           :configuration="configuration"
         ></select-component>
       </template>
+      <template slot="corpAttnSearch">
+        <el-select v-model="search.corpAttn"
+                   remote
+                   filterable
+                   clearable
+                   :remote-method="remoteMethod"
+        >
+          <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.realName"
+            :value="item.realName">
+          </el-option>
+        </el-select>
+      </template>
       <template slot="menuLeft" >
         <el-button type="primary"
                    size="small"
@@ -71,6 +86,7 @@
   import { getList,deleteMain } from "@/api/workManagement/mainProject";
   import reportDialog from "@/components/report-dialog/main";
   import { micrometerFormat } from "@/util/validate";
+  import { getUserList } from "@/api/workManagement/mainProject";
   import _ from "lodash";
 
 export default {
@@ -79,6 +95,7 @@ export default {
       switchDialog:false,
       loading: false,
       data: [],
+      options:[],
       show: true,
       detailData:{},
       search:{},
@@ -117,6 +134,15 @@ export default {
     detailPage
   },
   methods: {
+    //远程模糊
+    remoteMethod(query){
+      let params = {
+        realName : query
+      }
+      getUserList(params).then(res=>{
+        this.options = res.data.data
+      })
+    },
     //打印
     openReport() {
       this.switchDialog =! this.switchDialog;
@@ -130,7 +156,7 @@ export default {
       params.flag = 0;
       this.loading = true;
       if(params){
-        if (params.createTime != undefined) {  //发货
+        if (params.createTime &&  params.createTime.length !=0) {  //发货
           params.createStartDate = params.createTime[0]+ " " + "00:00:00";
           params.createEndDate = params.createTime[1] + " " + "23:59:59";
           this.$delete(params,'createTime')
@@ -228,7 +254,16 @@ export default {
     goBack() {
       this.detailData=this.$options.data().detailData
       this.show = true;
-      this.getList(this.page,this.search)
+
+      let params = Object.assign({}, this.search)
+
+      if (params.createTime &&  params.createTime.length !=0) {  //发货
+        params.createStartDate = params.createTime[0]+ " " + "00:00:00";
+        params.createEndDate = params.createTime[1] + " " + "23:59:59";
+        this.$delete(params,'createTime')
+      }
+
+      this.getList(this.page,params)
     },
   }
 };

+ 15 - 1
src/views/workManagement/receipt/configuration/settleAccountsDetailsADD.json

@@ -101,7 +101,21 @@
         }
       ]
     },
-
+    {
+      "label": "账户名称",
+      "prop": "accountName",
+      "overHidden": true,
+      "width": 120
+    },
+    {
+      "label": "结算日期",
+      "prop": "payTime",
+      "width": 120,
+      "overHidden": true,
+      "valueFormat": "yyyy-MM-dd",
+      "format": "yyyy-MM-dd",
+      "type": "date"
+    },
     {
       "label": "频率",
       "prop": "frequency",

+ 15 - 0
src/views/workManagement/receipt/configuration/settleAccountsDetailsReturn.json

@@ -94,6 +94,21 @@
       ]
     },
     {
+      "label": "账户名称",
+      "prop": "accountName",
+      "overHidden": true,
+      "width": 120
+    },
+    {
+      "label": "结算日期",
+      "prop": "payTime",
+      "width": 120,
+      "overHidden": true,
+      "valueFormat": "yyyy-MM-dd",
+      "format": "yyyy-MM-dd",
+      "type": "date"
+    },
+    {
       "label": "频率",
       "prop": "frequency",
       "type": "select",

+ 30 - 17
src/views/workManagement/receipt/settleAccounts.vue

@@ -22,19 +22,18 @@
           :configuration="configuration"
         ></select-component>
       </template>
-      <template slot="userNameSearch">
-        <el-select
-          v-model="search.userName"
-          multiple
-          filterable
-          remote
-          reserve-keyword
-          :remote-method="remoteMethod">
+      <template slot="corpAttnSearch">
+        <el-select v-model="search.corpAttn"
+                   remote
+                   filterable
+                   clearable
+                   :remote-method="remoteMethod"
+        >
           <el-option
             v-for="item in options"
             :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            :label="item.realName"
+            :value="item.realName">
           </el-option>
         </el-select>
       </template>
@@ -71,6 +70,7 @@
   import option from "./configuration/settleAccounts.json";
   import { getList } from "@/api/workManagement/mainProject";
   import detailPage from "./settleAccountsDetailsPage.vue";
+  import { getUserList } from "@/api/workManagement/mainProject";
 
   export default {
     data() {
@@ -79,6 +79,7 @@
         show:true,
         detailData:{},
         data: [],
+        options:[],
         option: option,
         search:{},
         configuration:{
@@ -105,11 +106,20 @@
       // option.height = window.innerHeight - 340 ;
     },
     methods: {
+      //远程模糊
+      remoteMethod(query){
+        let params = {
+          realName : query
+        }
+        getUserList(params).then(res=>{
+          this.options = res.data.data
+        })
+      },
       getList(page,params={}) {
         this.loading = true;
         params.flag = 1;
         if(params){
-          if (params.createTime != undefined && params.createTime.length !=0) {  //发货
+          if (params.createTime &&  params.createTime.length !=0) {  //发货
             params.createStartDate = params.createTime[0]+ " " + "00:00:00";
             params.createEndDate = params.createTime[1] + " " + "23:59:59";
             this.$delete(params,'createTime')
@@ -141,8 +151,7 @@
         this.getList();
       },
       refreshChange() {
-        this.page.currentPage = 1;
-        this.getList();
+        this.getList(this.page);
       },
       //删除列表后面的删除按钮触发触发(row, index, done)
       rowDel(row, index, done) {
@@ -166,11 +175,15 @@
         this.detailData=this.$options.data().detailData
         this.show = true;
 
-        this.search.createTime[0] =  this.search.createStartDate
-        this.search.createTime[1] =  this.search.createEndDate
-        console.log(this.search)
+        let params = Object.assign({}, this.search)
+
+        if (params.createTime &&  params.createTime.length !=0) {  //发货
+          params.createStartDate = params.createTime[0]+ " " + "00:00:00";
+          params.createEndDate = params.createTime[1] + " " + "23:59:59";
+          this.$delete(params,'createTime')
+        }
 
-        this.getList(this.page,this.search)
+        this.getList(this.page,params)
       },
     }
   };

+ 30 - 25
src/views/workManagement/receipt/settleAccountsDetailsPage.vue

@@ -72,6 +72,7 @@
             <el-button
               type="text"
               size="small"
+              :disabled="scope.row.status == 5"
               v-if="secondDisable == 1  || secondDisable == 2 "
               @click="rowCell(scope.row,scope.index)"
             >{{ scope.row.$cellEdit ? '修改完成' : '修改' }}
@@ -79,6 +80,7 @@
             <el-button
               type="text"
               size="small"
+              :disabled="scope.row.status == 5"
               v-if="secondDisable == 1  || secondDisable == 2 "
               @click="rowDel(scope.row,scope.index)"
             >删除
@@ -88,7 +90,7 @@
               icon="el-icon-check"
               size="small"
               :disabled="!scope.row.id"
-              v-if="scope.row.status == 4 || secondDisable == 1  || secondDisable == 2 "
+              v-if="scope.row.status != 5 && (scope.row.status == 4 || secondDisable == 1  || secondDisable == 2)"
               @click.stop="beforeCloseAccount(scope.row,scope.index)"
             >结 算
             </el-button>
@@ -119,28 +121,32 @@
               v-model="row.amount"
               placeholder="请输入"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\-?\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
             ></el-input>
             <span v-else>{{ row.amount }}</span>
           </template>
           <template slot="serviceCharge" slot-scope="{ row }">
+            <span v-if="row.$cellEdit" class="required_fields">*</span>
             <el-input
               v-if="row.$cellEdit"
               v-model="row.serviceCharge"
+              style="width:90% !important;"
               placeholder="请输入"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\-?\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               @input="costCount(row)"
             ></el-input>
             <span v-else>{{ row.serviceCharge }}</span>
           </template>
           <template slot="matMoney" slot-scope="{ row }">
+            <span v-if="row.$cellEdit" class="required_fields">*</span>
             <el-input
               v-if="row.$cellEdit"
               v-model="row.matMoney"
+              style="width:90% !important;"
               placeholder="请输入"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\-?\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               @input="costCount(row)"
             ></el-input>
             <span v-else>{{ row.matMoney }}</span>
@@ -191,7 +197,10 @@
       width="70%"
       :close-on-click-modal="false"
       :destroy-on-close="true"
-      :close-on-press-escape="false">
+      :modal-append-to-body='false'
+      :close-on-press-escape="false"
+      v-dialog-drag
+    >
       <service-component
         @serviceConfirm="serviceConfirm"
         @choce="choce"
@@ -207,7 +216,6 @@
       :close-on-click-modal="false"
       :destroy-on-close="true"
       :close-on-press-escape="false">
-
       <el-form  :model="accountFormData" ref="accountFormData">
         <el-form-item label="账户名称"  class="landConFrom-input" prop="accountName" :rules="rules">
           <el-input v-model="accountFormData.accountName" style="width: 220px;" size="small" clearable  placeholder="请输入" ></el-input>
@@ -550,23 +558,19 @@
               this.loading = true;
               this.allDataList = res.data.data.itemList;
 
-              this.allDataList.map(item =>{
-                if(item.projectType === 0){
-                  this.data_one.push(item)
-                }
-              })
-              this.allDataList.map(item =>{
-                if(item.projectType === 1){
-                  this.data_two.push(item)
-                }
-              })
-              this.allDataList.map(item =>{
-                if(item.projectType === 2){
-                  this.data_three.push(item)
-                }
-              })
+              this.data_one=this.allDataList.filter(item=>item.projectType === 0)
+              this.data_two=this.allDataList.filter(item=>item.projectType === 1)
+              this.data_three=this.allDataList.filter(item=>item.projectType === 2)
+
               this.dataList = this.data_one
 
+              this.activeName =  "first"
+              this.tab1 = true;
+              this.tab2 = false;
+              this.tab3 = false;
+              this.option = option
+              this.secondDisable = 0
+
               this.loading = false;
             }
             if(res.data.data.filesList){
@@ -662,12 +666,13 @@
         this.allDataList.push(...this.data_one,...this.data_two,...this.data_three)
 
         for (let i = 0; i < this.allDataList.length; i++) {
-          if(this.allDataList[i].superaddition === (null || "") && this.allDataList[i].projectType === 1){
-            return this.$message.error(`请输入明细列表追加费必填项`);
+          if(this.allDataList[i].serviceCharge === (null || "")){
+            return this.$message.error(`请输入明细列表服务费必填项`);
           }
-          if(this.allDataList[i].costReturn === (null || "") && this.allDataList[i].projectType === 2){
-            return this.$message.error(`请输入明细列表退费必填项`);
+          if(this.allDataList[i].matMoney === (null || "")){
+            return this.$message.error(`请输入明细列表代垫费必填项`);
           }
+
           if(this.allDataList[i].userid === (null || "")){
             return this.$message.error(`请输入明细列表承做人必填项`);
           }

+ 10 - 11
src/views/workManagement/receipt/statisticalList.vue

@@ -28,23 +28,22 @@
           v-model="search.cornId"
           :configuration="configuration"
         ></select-component>
+      </template>
       <template slot="userNameSearch">
-        <el-select
-          v-model="search.userName"
-          multiple
-          filterable
-          remote
-          reserve-keyword
-          :remote-method="remoteMethod">
+        <el-select v-model="search.userName"
+                   remote
+                   filterable
+                   clearable
+                   :remote-method="remoteMethod"
+                  >
           <el-option
             v-for="item in options"
             :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            :label="item.realName"
+            :value="item.realName">
           </el-option>
         </el-select>
       </template>
-      </template>
       <template slot-scope="scope" slot="menu">
         <el-button
           type="text"
@@ -113,7 +112,7 @@
           realName : query
         }
         getUserList(params).then(res=>{
-          // res.data.data.
+          this.options = res.data.data
         })
       },
       check(row,index){