qinbai пре 3 година
родитељ
комит
b4ecc22b96

+ 6 - 2
src/api/basicData/inventoryAccount.js

@@ -11,11 +11,15 @@ export function deleteTemplate(data) {
     })
 }
 //价格列表查询
-export function customerList(data) {
+export function customerList(current, size, params) {
     return request({
         url: '/api/blade-stock/stockgoods/list',
         method: 'get',
-        params: data
+      params: {
+        ...params,
+        current,
+        size,
+      }
     })
 }
 

+ 11 - 0
src/views/basicData/customerInformation/detailsPageEdit.vue

@@ -659,6 +659,17 @@ export default {
     flowDialog
   },
   created() {
+    if(this.$store.getters.userInfo.tenant_id === "096359"){
+      let list = ['profitReturn','usedProfit','surplusProfit','monthProfit']
+      for(let item in list){
+        for(let i in this.basicData.column){
+          if (list[item] == this.basicData.column[i].prop){
+            this.basicData.column.splice(i,1)
+          }
+        }
+      }
+    }
+
     this.customerContact.column.map(item => {
       if (item.prop == 'tel') {
         item.rules[1].pattern = /^1[3-9]\d{9}$/

+ 135 - 0
src/views/basicData/subject/configuration/details.json

@@ -0,0 +1,135 @@
+{
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": false,
+  "searchMenuSpan": 24,
+  "dialogWidth": "60%",
+  "align": "center",
+  "searchSpan": 8,
+  "height": "auto",
+  "refreshBtn": false,
+  "columnBtn": true,
+  "searchMenuPosition": "right",
+  "border": true,
+  "index": true,
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 130,
+  "dialogClickModal": false,
+  "searchLabelWidth": 150,
+  "searchIcon": true,
+  "searchIndex": 2,
+  "addBtn":false,
+  "menu": true,
+  "headerAlign": "center",
+  "column": [
+    {
+      "label": "业务币种",
+      "children": [
+        {
+          "label": "代码",
+          "prop": "corpName",
+          "overHidden": true,
+          "width": 150,
+          "cell": true,
+          "index": 1
+        },
+        {
+          "label": "名称",
+          "prop": "orderNo",
+          "width": 150,
+          "index": 2,
+          "cell": true,
+          "overHidden": true
+        }
+      ]
+    },
+    {
+      "label": "凭证类型",
+      "children": [
+        {
+          "label": "类型",
+          "prop": "corpName",
+          "overHidden": true,
+          "width": 150,
+          "cell": true,
+          "index": 1
+        },
+        {
+          "label": "名称",
+          "prop": "orderNo",
+          "width": 150,
+          "cell": true,
+          "index": 2,
+          "overHidden": true
+        }
+      ]
+    },
+    {
+      "label": "分录",
+      "children": [
+        {
+          "label": "类型",
+          "prop": "corpName",
+          "overHidden": true,
+          "width": 150,
+          "cell": true,
+          "index": 1
+        },
+        {
+          "label": "科目代码",
+          "prop": "orderNo",
+          "width": 150,
+          "cell": true,
+          "index": 2,
+          "overHidden": true
+        },
+        {
+          "label": "科目名称",
+          "prop": "invoiceWeight",
+          "width": 150,
+          "cell": true,
+          "index": 3,
+          "overHidden": true
+        }
+      ]
+    },
+    {
+      "label": "",
+      "children": [
+        {
+          "label": "金额方向",
+          "prop": "createTime",
+          "index": 9,
+          "width": 180,
+          "cell": true,
+          "overHidden": true
+        }
+      ]
+    },
+    {
+      "label": "摘要",
+      "children": [
+        {
+          "label": "静态值",
+          "prop": "saleCorpName",
+          "overHidden": true,
+          "width": 150,
+          "cell": true,
+          "index": 10
+        },
+        {
+          "label": "附加公式",
+          "prop": "priceCategoryNames",
+          "width": 150,
+          "cell": true,
+          "index": 11,
+          "overHidden": true
+        }
+      ]
+    }
+  ]
+}

+ 44 - 0
src/views/basicData/subject/configuration/mainList.json

@@ -0,0 +1,44 @@
+{
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 8,
+  "dialogWidth": "60%",
+  "align": "center",
+  "searchSpan": 8,
+  "height": "auto",
+  "searchMenuPosition": "right",
+  "border": true,
+  "index": true,
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 130,
+  "dialogClickModal": false,
+  "searchLabelWidth": 120,
+  "searchIcon": true,
+  "searchIndex": 2,
+  "addBtn":false,
+  "menu": true,
+  "headerAlign": "center",
+  "column": [
+    {
+      "label": "代码",
+      "prop": "accSysNo",
+      "overHidden": true,
+      "search": true,
+      "width": 700,
+      "index": 1
+    },
+    {
+      "label": "名称",
+      "prop": "srcBillNo",
+      "overHidden": true,
+      "search": true,
+      "width": 800,
+      "index": 2
+    }
+  ]
+}

+ 210 - 0
src/views/basicData/subject/subject.vue

@@ -0,0 +1,210 @@
+<template>
+  <basic-container v-if="show">
+    <avue-crud :option="option"
+               :data="dataList"
+               ref="crud"
+               v-model="form"
+               :page.sync="page"
+               :search.sync="search"
+               :table-loading="loading"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @saveColumn="saveColumn"
+               @resetColumn="resetColumn"
+               @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   @click="addReceipt">创建单据
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button
+          type="text"
+          size="small"
+          icon="el-icon-edit"
+          @click.stop="editOpen(scope.row, 2)"
+        >编辑
+        </el-button>
+        <el-button
+          type="text"
+          size="small"
+          icon="el-icon-delete"
+          @click.stop="rowDel(scope.row, scope.index)"
+        >删除
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
+  <detail-page
+    ref="detail"
+    @goBack="goBack"
+    :detailData="detailData"
+    v-else
+  ></detail-page>
+</template>
+
+<script>
+  import option from "./configuration/mainList.json";
+  import {getList ,remove} from "@/api/financialManagement/financialManagement"
+  import detailPage from "./subjectDetailsPage";
+
+  export default {
+    name: "outputInvoice",
+    data() {
+      return {
+        loading : false,
+        form: {},
+        search:{},
+        show:true,
+        detailData:{},
+        option: option,
+        dataList: [],
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10,
+          pageSizes: [10, 50, 100, 200, 300, 400, 500,1000]
+        },
+        query:{},
+        configuration:{
+          multipleChoices:false,
+          multiple:false,
+          disabled:false,
+          searchShow:true,
+          collapseTags:false,
+          clearable:true,
+          placeholder:'请点击右边按钮选择',
+          dicData:[]
+        },
+      }
+    },
+    components:{
+      detailPage
+    },
+    async created() {
+      // this.option = await this.getColumnData(this.getColumnName(69), option);
+    },
+    mounted() {
+
+    },
+    methods: {
+      //新单打开
+      addReceipt(row){
+        this.detailData = {
+          id: row.id,
+          status: 1
+        };
+        this.show = false;
+      },
+      //编辑打开
+      editOpen(row, status){
+        this.detailData = {
+          id: row.id,
+          status: status
+        };
+        this.show = false;
+      },
+      rowDel(row, index, done) {
+        if(row.id){
+          this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+            remove(row.id).then(res =>{
+              if(res.data.success){
+                this.$message.success("操作成功!");
+                this.onLoad(this.page);
+              }
+            })
+          });
+        }
+      },
+      //点击搜索按钮触发
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done()
+      },
+      searchReset() {
+        console.log('1')
+      },
+      selectionChange() {
+        console.log('1')
+      },
+      currentChange(val) {
+        this.page.currentPage = val
+      },
+      sizeChange(val) {
+        this.page.currentPage = 1;
+        this.page.pageSize = val;
+      },
+      refreshChange(params) {
+        this.onLoad(this.page,params)
+      },
+      paramsAdjustment(params) {
+        params = Object.assign({}, this.search);
+        if (params.settlementDate &&  params.settlementDate.length !==0 ) {  //合同
+          params.settlementStartDate = params.settlementDate[0]+ " " + "00:00:00";
+          params.settlementEndDate = params.settlementDate[1] + " " + "23:59:59";
+          this.$delete(params,'settlementDate')
+        }
+        return params
+      },
+      onLoad(page, params) {
+        this.loading = true
+        params =  this.paramsAdjustment(params)
+        params.billType = "付费"
+
+        getList(page.currentPage, page.pageSize,params).then(res =>{
+          this.dataList = res.data.data.records
+          this.page.total = res.data.data.total
+        }).finally(()=>{
+          this.loading = false
+        })
+      },
+
+      goBack() {
+        this.detailData=this.$options.data().detailData
+        this.show = true;
+        this.onLoad(this.page,this.search)
+      },
+
+      //列保存触发
+      async saveColumn() {
+        const inSave = await this.saveColumnData(
+          this.getColumnName(69),
+          this.option
+        );
+        if (inSave) {
+          this.$message.success("保存成功");
+          //关闭窗口
+          this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        }
+      },
+      async resetColumn() {
+        const inSave = await this.delColumnData(
+          this.getColumnName(69),
+          option
+        );
+        if (inSave) {
+          this.$message.success("重置成功");
+          this.option = option;
+          //关闭窗口
+          this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        }
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 144 - 0
src/views/basicData/subject/subjectDetailsPage.vue

@@ -0,0 +1,144 @@
+<template>
+  <div class="borderless">
+    <div class="customer-head">
+      <div class="customer-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                   @click="backToList">返回列表
+        </el-button>
+        <div  class="upper_right_button">
+          <el-button
+            class="el-button--small-yh "
+            type="primary"
+            size="small"
+            @click=""
+            :loading="buttonLoading"
+          >保存数据
+          </el-button>
+
+        </div>
+      </div>
+    </div>
+    <div class="customer-main">
+      <basic-container>
+        <avue-crud :option="option"
+                   :data="dataList"
+                   ref="crud"
+                   v-model="form"
+                   :table-loading="loading">
+          <template slot="menuLeft">
+            <el-button type="primary"
+                       size="small"
+                       icon="el-icon-plus"
+                       @row-save="rowSave"
+                       @selection-change="selectionContact"
+                       @row-update="rowUpdate"
+                       @row-del="rowDel"
+                       @click="addReceipt">录入
+            </el-button>
+          </template>
+          <template slot-scope="scope" slot="menu">
+            <el-button
+              type="text"
+              size="small"
+              icon="el-icon-edit"
+              @click.stop="editOpen(scope.row,scope.index)"
+            >编辑
+            </el-button>
+            <el-button
+              type="text"
+              size="small"
+              icon="el-icon-delete"
+              @click.stop="rowDel(scope.row, scope.index)"
+            >删除
+            </el-button>
+          </template>
+        </avue-crud>
+      </basic-container>
+    </div>
+  </div>
+
+</template>
+
+<script>
+  import option from "./configuration/details.json";
+
+  export default {
+    name: "subjectDetailsPage",
+    data() {
+      return {
+        loading : false,
+        form: {},
+        search:{},
+        show:true,
+        detailData:{},
+        option: option,
+        dataList: [],
+        buttonLoading:false,
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10,
+          pageSizes: [10, 50, 100, 200, 300, 400, 500,1000]
+        },
+        query:{},
+        configuration:{
+          multipleChoices:false,
+          multiple:false,
+          disabled:false,
+          searchShow:true,
+          collapseTags:false,
+          clearable:true,
+          placeholder:'请点击右边按钮选择',
+          dicData:[]
+        },
+      }
+    },
+    created() {
+
+    },
+    mounted() {
+
+    },
+    methods: {
+      //录入
+      addReceipt(){
+        this.$refs.crud.rowCellAdd();
+      },
+      //编辑打开
+      editOpen(row,index){
+        this.$refs.crud.rowCell(row, index)
+      },
+      rowUpdate(row){
+
+      },
+      rowDel(row, index, done) {
+        if(row.id){
+          this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+            remove(row.id).then(res =>{
+              if(res.data.success){
+                this.$message.success("操作成功!");
+                this.onLoad(this.page);
+              }
+            })
+          });
+        }
+      },
+      backToList() {
+        this.$emit("goBack");
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .upper_right_button{
+    display: flex;
+    position: fixed;
+    right: 12px;
+    top: 47px;
+  }
+</style>

+ 4 - 2
src/views/importTrade/invoice/config/customerContact.json

@@ -32,11 +32,13 @@
     },
     {
       "name": "billWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "invoiceWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column":[

+ 6 - 3
src/views/importTrade/receipt/config/customerContact.json

@@ -24,7 +24,8 @@
   "sumColumnList": [
     {
       "name": "actualQuantity",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 0
     },
     {
       "name": "contractAmount",
@@ -32,11 +33,13 @@
     },
     {
       "name": "billWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "invoiceWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column":[

+ 1 - 1
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -489,7 +489,7 @@ export default {
     }
   },
   async created() {
-    this.customerContact = await this.getColumnData(this.getColumnName(41), customerContact);
+    // this.customerContact = await this.getColumnData(this.getColumnName(41), customerContact);
     //币别
     this.getWorkDicts("currency").then(res =>{
       this.currencyDic = res.data.data

+ 7 - 4
src/views/purchase/contract/config/customerContact.json

@@ -28,15 +28,18 @@
     },
     {
       "name": "amount",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "billWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "invoiceWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column":[
@@ -125,7 +128,7 @@
       "width":120
     },
     {
-      "label": "销售金额",
+      "label": "发票金额",
       "prop": "amount",
       "overHidden": true,
       "index": 9,

+ 2 - 2
src/views/purchase/contract/detailsPage.vue

@@ -201,8 +201,8 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-                @input="priceChange(row)"
               ></el-input>
+<!--              @input="priceChange(row)"-->
               <span v-else>{{ row.price }}</span>
             </template>
             <template slot="invoiceWeight" slot-scope="{ row }">
@@ -226,9 +226,9 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="billWeightChange(row)"
                 @change="totalChange(row.billWeight)"
               ></el-input>
+<!--              @input="billWeightChange(row)"-->
               <span v-else>{{ row.billWeight }}</span>
             </template>
             <template slot="amount" slot-scope="{ row }">

+ 24 - 4
src/views/purchase/stockBill/config/mainList.json

@@ -9,7 +9,7 @@
   "height": "auto",
   "searchMenuPosition": "right",
   "searchSpan": 8,
-  "searchMenuSpan": 16,
+  "searchMenuSpan": 8,
   "tree": true,
   "selection": false,
   "addBtn": false,
@@ -34,7 +34,8 @@
     },
     {
       "name": "inWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "outQuantity",
@@ -42,7 +43,8 @@
     },
     {
       "name": "outWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "balanceQuantity",
@@ -50,7 +52,8 @@
     },
     {
       "name": "balanceWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column": [
@@ -153,6 +156,23 @@
       "overHidden": true,
       "index": 13,
       "width": 150
+    },
+    {
+      "label": "是否区分箱号",
+      "search": true,
+      "prop": "isCntrON",
+      "type": "select",
+      "overHidden": true,
+      "searchValue": "1",
+      "dicData": [{
+        "label": "否",
+        "value": "1"
+      }, {
+        "label": "是",
+        "value": "0"
+      }],
+      "hide": true,
+      "index": 14
     }
   ]
 }

+ 24 - 13
src/views/purchase/stockBill/index.vue

@@ -49,9 +49,10 @@
         parentId:0,
         dataList: [],
         page: {
-          pageSize: 10,
-          pagerCount: 5,
+          currentPage: 1,
           total: 0,
+          pageSize: 10,
+          pageSizes: [10, 50, 100, 200, 300, 400, 500,1000]
         },
         query:{},
       }
@@ -99,24 +100,34 @@
       selectionChange() {
         console.log('1')
       },
-      currentChange() {
-        console.log('1')
+      sizeChange(val) {
+        this.page.currentPage = 1;
+        this.page.pageSize = val;
       },
-      sizeChange() {
-        console.log('1')
+      currentChange(val) {
+        this.page.currentPage = val;
+        this.onLoad(this.page);
       },
       refreshChange() {
         this.onLoad(this.page);
       },
+      paramsAdjustment(params) {
+        params = Object.assign({}, this.search);
+        if (params.createTime &&  params.createTime.length !==0 ) {   //付款
+          params.createStartTime = params.createTime[0]+ " " + "00:00:00";
+          params.createEndTime = params.createTime[1] + " " + "23:59:59";
+          this.$delete(params,'createTime')
+        }
+        if(!params.isCntrON){
+          params.isCntrON = 1
+        }
+        return params
+      },
+
       onLoad(page, params = {}) {
         this.loading = true;
-        if(params){
-          if (params.createTime!= undefined) {  //付款
-            params.createStartTime = params.createTime[0]+ " " + "00:00:00";
-            params.createEndTime = params.createTime[1] + " " + "23:59:59";
-            this.$delete(params,'createTime')
-          }
-        }
+        params =  this.paramsAdjustment(params)
+
         customerList(page.currentPage, page.pageSize,params).then(res=>{
           this.dataList = res.data.data.records
           this.page.total = res.data.data.total

+ 6 - 3
src/views/salesManagement/salesContract/config/importInventory.json

@@ -28,15 +28,18 @@
     },
     {
       "name": "amount",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "billWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     },
     {
       "name": "invoiceWeight",
-      "type": "sum"
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column":[

+ 5 - 5
src/views/salesManagement/salesContract/detailsPage.vue

@@ -6,7 +6,7 @@
                    @click="backToList">返回列表
         </el-button>
       </div>
-      <div class="upper_right_button">
+      <div class="upper_right_button" style="width: 20%">
         <el-button type="primary"
                    size="small"
                    v-if="viewDisabled"
@@ -15,7 +15,7 @@
                    @click.stop="openDisabled()">编辑
         </el-button>
 
-        <el-dropdown style="padding: 0 8px;line-height: 0">
+        <el-dropdown style="line-height: 0">
           <el-button
             type="warning"
             :loading="buttonLoading"
@@ -42,7 +42,7 @@
           </el-dropdown-menu>
         </el-dropdown>
 
-        <el-dropdown style="padding: 0 8px;line-height: 0">
+        <el-dropdown style="line-height: 0">
           <el-button
             type="success"
             :loading="buttonLoading"
@@ -171,8 +171,8 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-                @input="priceChange(row)"
               ></el-input>
+<!--              @input="priceChange(row)"-->
               <span v-else>{{ row.price }}</span>
             </template>
             <template slot="orderQuantity" slot-scope="{ row }">
@@ -220,9 +220,9 @@
                 style="width: 90%"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="billWeightChange(row)"
                 @change="totalChange(row.billWeight)"
               ></el-input>
+<!--              @input="billWeightChange(row)"-->
               <span v-else>{{ row.billWeight }}</span>
             </template>
             <template slot="amount" slot-scope="{ row }">

+ 2 - 1
src/views/workManagement/performanceAnalysis/config/clientList.json

@@ -97,8 +97,9 @@
       "prop": "year",
       "search": true,
       "hide": true,
+      "format": "yyyy",
+      "valueFormat": "yyyy",
       "index": 2,
-      "type": "select",
       "searchValue": "2022"
     },
     {

+ 2 - 1
src/views/workManagement/performanceAnalysis/config/mainList.json

@@ -97,7 +97,8 @@
       "prop": "year",
       "search": true,
       "hide": true,
-      "type": "select",
+      "format": "yyyy",
+      "valueFormat": "yyyy",
       "index": 2,
       "searchValue": "2022"
     },

+ 6 - 14
src/views/workManagement/performanceAnalysis/index.vue

@@ -42,21 +42,11 @@
         </el-select>
       </template>
       <template slot="yearSearch">
-        <el-select
+        <el-date-picker
           v-model="search.year"
-          placeholder=""
-          filterable
-          allow-create
-          default-first-option
-          clearable
-        >
-          <el-option
-            v-for="item in yearOptions"
-            :key="item"
-            :label="item"
-            :value="item">
-          </el-option>
-        </el-select>
+          type="year"
+          placeholder="">
+        </el-date-picker>
       </template>
       <template slot="userNameSearch">
         <el-select
@@ -214,6 +204,8 @@
         }
         if(!params.year){
           params.year = "2022"
+        }else{
+          params.year = params.year.getFullYear()
         }
         return params
       },