{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/admin/projects/dms/src/dealer_admin/src/views/dealer/list/components/inventory_modal.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/views/dealer/list/components/inventory_modal.vue","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n  import * as API from \"@/api/dealer\";\n  import _ from \"lodash\";\n  import waves from \"@/directive/waves\";\n  import Pagination from \"@/components/Pagination\";\nimport {priceNumFilter} from \"@/filters\"; \n\n  export default {\n    components: {Pagination},\n    directives: {waves},\n    data() {\n      return {\n        dialogFormVisible: false,\n        dealer_id:'',\n        list: [],\n        total: 0,\n        listLoading: true,\n        listQuery: {\n          page: 1,\n          limit: 10,\n          searchKey:'',\n        },\n        exportLoading: false,\n      };\n    },\n    computed: {\n    },\n    \n    created() {\n    },\n    methods: {\n      async init(id) {\n        this.dealer_id = id;\n        this.listQuery = {\n          page: 1,\n          limit: 10,\n          searchKey:'',\n        };\n        this.dialogFormVisible = true;\n        this.getList();\n      },\n      async getList() {\n        this.listLoading = true;\n        let query = JSON.parse(JSON.stringify(this.listQuery));\n        query.dealer = this.dealer_id;\n        const res = await API.getInventoryList(query);\n        this.total = res.result.total;\n        let list = res.result.list;\n        this.list = [];\n        this.list = list;\n        this.listLoading = false;\n      },\n      async delHandle(id) {\n        this.$confirm(\"确认删除???\", \"提示\")\n          .then(async _ => {\n            console.log(\"确认\");\n            const res = await API.del(id);\n            if (res.__error === 0) {\n              this.$message({\n                message: \"成功\",\n                type: \"success\"\n              });\n              this.getList();\n            }\n          })\n          .catch(_ => {\n            console.log(\"取消\");\n          });\n      },\n      handleFilter() {\n        this.listQuery.page = 1;\n        this.getList();\n      },\n      async exportExcel() {\n        if(this.exportLoading) return false;\n        this.exportLoading = true;\n        let list = [];\n        let noMore = false;\n        let page = 1;\n        do{\n          let exportList = await this.getLogList(page,10);\n          if(exportList && exportList.length > 0){\n            page += 1;\n            list = list.concat(exportList);\n          }else{\n            noMore = true;\n          }\n        }while(!noMore)\n        console.log(list);\n        import(\"@/vendor/Export2Excel\").then((excel) => {\n          const tHeader = [\n            \"产品名称\",\n            \"产品数量\",\n            \"产品单价\",\n            \"总额\",\n          ];\n          const filterVal = [\n            \"name\",\n            \"quantity\",\n            \"unitPrice\",\n            \"price\",\n          ];\n          const data = this.formatJson(filterVal, list);\n          excel.export_json_to_excel({\n            header: tHeader,\n            data,\n            filename: \"库存记录\",\n          });\n        });\n        this.exportLoading = false;\n      },\n      async getLogList(page,limit){\n        return new Promise(async (resolve,reject) => {\n          let params = {\n             page: page,\n            limit: limit,\n            searchKey: this.listQuery.searchKey,\n            dealer: this.dealer_id,\n          }\n          const res = await API.getInventoryList(params);\n          let list = res.result.list;\n          resolve(list);\n        })\n      },\n      formatJson(filterVal, jsonData) {\n        return jsonData.map((v) =>\n          filterVal.map((j) => {\n            if (j === \"unitPrice\" \n                      || j === \"price\") {\n              return priceNumFilter(v[j]);\n            }else {\n              return v[j];\n            }\n          })\n        );\n      },\n      \n    }\n  };\n",null]}