lilei 1 年之前
父節點
當前提交
4746b84e71
共有 27 個文件被更改,包括 599 次插入112 次删除
  1. 3 3
      config/request.js
  2. 76 109
      pages/stock/index.vue
  3. 0 0
      unpackage/dist/dev/app-plus/__uniappchooselocation.js
  4. 二進制
      unpackage/dist/dev/app-plus/__uniapperror.png
  5. 0 0
      unpackage/dist/dev/app-plus/__uniappes6.js
  6. 0 0
      unpackage/dist/dev/app-plus/__uniappopenlocation.js
  7. 0 0
      unpackage/dist/dev/app-plus/__uniapppicker.js
  8. 6 0
      unpackage/dist/dev/app-plus/__uniappquill.js
  9. 0 0
      unpackage/dist/dev/app-plus/__uniappquillimageresize.js
  10. 0 0
      unpackage/dist/dev/app-plus/__uniappscan.js
  11. 二進制
      unpackage/dist/dev/app-plus/__uniappsuccess.png
  12. 25 0
      unpackage/dist/dev/app-plus/__uniappview.html
  13. 4 0
      unpackage/dist/dev/app-plus/app-config-service.js
  14. 154 0
      unpackage/dist/dev/app-plus/app-config.js
  15. 9 0
      unpackage/dist/dev/app-plus/app-service.js
  16. 319 0
      unpackage/dist/dev/app-plus/app-view.js
  17. 0 0
      unpackage/dist/dev/app-plus/manifest.json
  18. 二進制
      unpackage/dist/dev/app-plus/static/def_img@2x.png
  19. 二進制
      unpackage/dist/dev/app-plus/static/def_no_data@3x.png
  20. 二進制
      unpackage/dist/dev/app-plus/static/error.mp3
  21. 3 0
      unpackage/dist/dev/app-plus/static/iconfont/iconfont.css
  22. 二進制
      unpackage/dist/dev/app-plus/static/info.mp3
  23. 二進制
      unpackage/dist/dev/app-plus/static/logo.png
  24. 二進制
      unpackage/dist/dev/app-plus/static/warn.mp3
  25. 二進制
      unpackage/dist/dev/app-plus/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
  26. 0 0
      unpackage/dist/dev/app-plus/view.css
  27. 0 0
      unpackage/dist/dev/app-plus/view.umd.min.js

+ 3 - 3
config/request.js

@@ -4,9 +4,9 @@ module.exports = (vm) => {
     // 初始化请求配置
     uni.$u.http.setConfig((config) => {
         /* config 为默认全局配置*/
-        // config.baseURL = 'http://192.168.2.117/qpls-md'; /* 开发 */
+        config.baseURL = 'http://192.168.2.103/qpls-md'; /* 开发 */
 		// config.baseURL = 'https://iscm.360arrow.com/qpls-md'; /* 生产 */
-		config.baseURL = 'https://p.iscm.360arrow.com/qpls-md'; /* 预发布 */
+		// config.baseURL = 'https://p.iscm.360arrow.com/qpls-md'; /* 预发布 */
 		config.custom.auth = true
         return config
     })
@@ -20,7 +20,7 @@ module.exports = (vm) => {
 			// 可以在此通过vm引用vuex中的变量,具体值在vm.$store.state中
 			config.header['access-token'] = vm.$store.state.vuex_token
 		}
-		config.header['hand-device-no'] = vm.$store.state.vuex_deviceId
+		// config.header['hand-device-no'] = vm.$store.state.vuex_deviceId
 	    return config 
 	}, config => { // 可使用async await 做异步操作
 	    return Promise.reject(config)

+ 76 - 109
pages/stock/index.vue

@@ -3,7 +3,7 @@
 		<!-- 库存查询 -->
 		<view class="stock-con" v-if="$hasPermissions('M_stockQuery_mobile')">
 			<u-form :model="form" ref="uForm" label-width="100">
-				<u-form-item label="条形码"><u-input v-model.trim="form.qrCode" border="bottom" placeholder="请输入条形码" input-align="right" /></u-form-item>
+				<u-form-item label="条形码"><u-input v-model.trim="form.productQrCode" border="bottom" placeholder="请输入条形码" input-align="right" /></u-form-item>
 				<u-form-item label="产品编码"><u-input v-model.trim="form.productCode" border="bottom" placeholder="请输入产品编码" input-align="right" /></u-form-item>
 				<u-form-item label="产品名称"><u-input v-model.trim="form.productName" border="bottom" placeholder="请输入产品名称" input-align="right" /></u-form-item>
 			</u-form>
@@ -12,20 +12,58 @@
 				<u-button size="medium" hover-class="none" shape="circle" :custom-style="customBtnStyle" @click="handleSearch">查询</u-button>
 			</view>
 		</view>
+		<!-- 查询结果 -->
+		<view class="stockDetail-info" v-if="listData">
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">产品编码</view>
+				<view>{{listData && listData.productCode || '--'}} <copyText :text="listData.productCode" label="产品编码"></copyText></view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">产品名称</view>
+				<view>{{listData && listData.productName || '--'}} <copyText :text="listData.productName" label="产品名称"></copyText></view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">条形码</view>
+				<view>{{listData && listData.productQrCode || '--'}} <copyText :text="listData.productQrCode" label="条形码"></copyText></view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">库存数量</view>
+				<view>{{toThousands(listData.currentStockQty||0)}}{{listData.productUnit}}</view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">仓库/仓位</view>
+				<view>{{listData && listData.putBizTypeDictValue || '--'}}</view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">产品分类</view>
+				<view>{{listData && listData.putBizTypeDictValue || '--'}}</view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">单位</view>
+				<view>{{listData && listData.putBizTypeDictValue || '--'}}</view>
+			</view>
+			<view class="info-item flex align_center justify_between">
+				<view class="info-name">产品图片</view>
+				<view>{{listData && listData.putBizTypeDictValue || '--'}}</view>
+			</view>
+		</view>
+		
 		<scanCode></scanCode>
 	</view>
 </template>
 
 <script>
 	import scanCode from '@/libs/scan-code.vue';
-	import { dealerProductTypeList , stockCount } from '@/config/api'
+	import { dealerProductTypeList , stockList } from '@/config/api'
+	import copyText from '@/pages/common/copyText.vue'
+	import { toThousands } from '@/libs/tools'
 	export default{
-		components: { scanCode },
+		components: { scanCode, copyText },
 		data(){
 			return {
 				form: {
 					productCode: '', //  产品编码
-					qrCode: '', // 挑选码
+					productQrCode: '', // 挑选码
 					productName: '', //  产品名称
 					productOrigCode: '', //  原厂编码
 					productBrandSn: undefined, //  产品品牌
@@ -37,40 +75,19 @@
 					minUnsalableDays: undefined, // 滞销天数最小值
 					maxUnsalableDays: undefined // 滞销天数最大值
 				},
-				totalData: null,
-				brandModal: false,
-				brandName: '',
-				showTypeModal: false,
-				nowData: {
-					data: [],
-					indArr: [],
-					nowInd: 0
-				},
 				customBtnStyle: {  //  自定义按钮样式
 					backgroundColor: '#335fb6',
 					color: '#fff'
 				},
+				listData: null,
+				toThousands
 			}
 		},
-		computed: {
-			productTypeNameArr: function() {
-				let str = ''
-				this.nowData.data.map(item => {
-					str += item.productTypeName+' / '
-				})
-				return str ? str.substr(0, str.length-3) : ''
-			}
-		},
-		watch: {
-		  'form.enableFlag' (newValue, oldValue) {
-		    uni.setStorageSync('productEnabledFlag-' + this.$store.state.vuex_userData.orgId, newValue)
-		  },
-		},
 		onLoad() {
 			var _this = this
 			uni.$on('scancodedate', function(content) {
 			  console.log("扫描到的内容为:", content)
-			  _this.form.qrCode = content||''
+			  _this.form.productQrCode = content||''
 			  _this.handleSearch()
 			})
 		},
@@ -80,9 +97,7 @@
 		onShow() {
 			// 是否默认包括禁用产品
 			const a = uni.getStorageSync('productEnabledFlag-' + this.$store.state.vuex_userData.orgId)
-			console.log(typeof a == 'boolean')
 			this.form.enableFlag = typeof a == 'boolean' ? a : true
-			this.getTotal()
 		},
 		methods: {
 			$message(msg){
@@ -91,100 +106,39 @@
 					title: msg
 				})
 			},
-			// 校验滞销天数数值范围
-			checkValueRange () {
-			  const a =	!this.form.minUnsalableDays
-			  const b = !this.form.maxUnsalableDays
-			  
-			  if(a && !b){
-				  this.$message('请输入滞销天数的起始天数!')
-				  return false
-			  } 
-			  if(b && !a){
-				  this.$message('请输入滞销天数的截止天数!')
-				  return false
-			  }
-			  console.log(this.form.minUnsalableDays , this.form.maxUnsalableDays,this.form.minUnsalableDays > this.form.maxUnsalableDays)
-			  if (Number(this.form.minUnsalableDays) > Number(this.form.maxUnsalableDays)) {
-			    this.$message('截止天数应大于起始天数!')
-			    return false
-			  }
-			  this.form.minUnsalableDays = this.form.minUnsalableDays > 999999 ? 999999 : this.form.minUnsalableDays
-			  this.form.maxUnsalableDays = this.form.maxUnsalableDays > 999999 ? 999999 : this.form.maxUnsalableDays
-			  return true
-			},
-			// 合计
-			getTotal () {
-				stockCount({}).then(res => {
-					if (res.status == 200 && res.data) {
-						this.totalData = res.data
-					} else {
-						this.totalData = null
-					}
-				})
-			},
 			// 表单清空
 			handleClean(){
 				this.form.productCode = ''
-				this.form.qrCode = ''
+				this.form.productQrCode = ''
 				this.form.productName = ''
 				this.form.productOrigCode = ''
-				this.brandName = ''
 				this.form.productBrandSn = undefined
-				this.nowData = {
-					data: [],
-					indArr: [],
-					nowInd: 0
-				}
 				this.form.productTypeSn1 = undefined
 				this.form.productTypeSn2 = undefined
 				this.form.productTypeSn3 = undefined
 				this.form.zeroQtyFlag = false
 				this.form.minUnsalableDays = undefined // 滞销天数最小值
 				this.form.maxUnsalableDays = undefined // 滞销天数最大值
-				this.$refs.productBrand.onClean()
+				this.listData = null
 			},
 			// 查询
 			handleSearch(){
-				if (this.checkValueRange()) {
-					let params = JSON.parse(JSON.stringify(this.form))
-					params.zeroQtyFlag = params.zeroQtyFlag ? '0' : ''
-					params.enableFlag = params.enableFlag ? '' : '1'
-					uni.navigateTo({ url: "/pages/stock/stockSearch?data="+JSON.stringify(params) })
-				}
-			},
-			// 选择品牌
-			brandChoose(data){
-				this.brandName = data.brandName
-				this.form.productBrandSn = data.brandSn
-			},
-			// 清空品牌
-			brandClean(){
-				this.brandName = ''
-				this.form.productBrandSn = undefined
-			},
-			// 选择分类
-			typeChoose(obj){
-				this.nowData = {
-					data: obj.data,
-					indArr: obj.indArr,
-					nowInd: obj.nowInd
-				}
-				this.form.productTypeSn1 = this.nowData.data[0]&&this.nowData.data[0].productTypeSn ? this.nowData.data[0].productTypeSn : undefined
-				this.form.productTypeSn2 = this.nowData.data[1]&&this.nowData.data[1].productTypeSn ? this.nowData.data[1].productTypeSn : undefined
-				this.form.productTypeSn3 = this.nowData.data[2]&&this.nowData.data[2].productTypeSn ? this.nowData.data[2].productTypeSn : undefined
+				let params = this.form
+				params.zeroQtyFlag = params.zeroQtyFlag ? '0' : ''
+				params.enableFlag = params.enableFlag ? '' : '1'
+				params.pageNo = 1
+				params.pageSize = 1
+				console.log(params)
+				stockList(params).then(res => {
+					console.log(res)
+					if(res.status == 200){
+						this.listData = res.data.list[0]
+					}
+					if(this.listData.length==0){
+						this.$message("没有查询到产品")
+					}
+				})
 			},
-			// 清空分类
-			typeClean(){
-				this.nowData = {
-					data: [],
-					indArr: [],
-					nowInd: 0
-				}
-				this.form.productTypeSn1 = undefined
-				this.form.productTypeSn2 = undefined
-				this.form.productTypeSn3 = undefined
-			}
 		}
 	}
 </script>
@@ -225,7 +179,7 @@
 				border-bottom: 1px solid #eee;
 			}
 			.form-footer-btn{
-				margin: 60upx 30upx 30upx;
+				margin: 30upx;
 				display: flex;
 				justify-content: space-between;
 			}
@@ -235,5 +189,18 @@
 				font-size: 30upx;
 			}
 		}
+		.stockDetail-info{
+			background-color: #ffffff;
+			padding: 10upx 20upx 20upx;
+			border-radius: 20upx;
+			box-shadow: 3upx 2upx 6upx #eee;
+			.info-item{
+				border-bottom: 1px dashed #e4e7ed;
+				padding: 20upx 0;
+				.info-name{
+					color: #464646;
+				}
+			}
+		}
 	}
 </style>

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js


二進制
unpackage/dist/dev/app-plus/__uniapperror.png


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappes6.js


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniapppicker.js


文件差異過大導致無法顯示
+ 6 - 0
unpackage/dist/dev/app-plus/__uniappquill.js


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappscan.js


二進制
unpackage/dist/dev/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/dev/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

文件差異過大導致無法顯示
+ 4 - 0
unpackage/dist/dev/app-plus/app-config-service.js


+ 154 - 0
unpackage/dist/dev/app-plus/app-config.js

@@ -0,0 +1,154 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"app-config": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);

文件差異過大導致無法顯示
+ 9 - 0
unpackage/dist/dev/app-plus/app-service.js


文件差異過大導致無法顯示
+ 319 - 0
unpackage/dist/dev/app-plus/app-view.js


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


二進制
unpackage/dist/dev/app-plus/static/def_img@2x.png


二進制
unpackage/dist/dev/app-plus/static/def_no_data@3x.png


二進制
unpackage/dist/dev/app-plus/static/error.mp3


文件差異過大導致無法顯示
+ 3 - 0
unpackage/dist/dev/app-plus/static/iconfont/iconfont.css


二進制
unpackage/dist/dev/app-plus/static/info.mp3


二進制
unpackage/dist/dev/app-plus/static/logo.png


二進制
unpackage/dist/dev/app-plus/static/warn.mp3


二進制
unpackage/dist/dev/app-plus/uni_modules/uni-icons/components/uni-icons/uniicons.ttf


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/view.css


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/app-plus/view.umd.min.js


部分文件因文件數量過多而無法顯示