index.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <template>
  2. <view class="content">
  3. <view class="uni-status-height"></view>
  4. <view class="userData" v-if="userData">
  5. <view>{{userData.orgName||'用户名'}}</view>
  6. <view @click="toQuit">退出<u-icon name="arrow-right" color="#55aaff"></u-icon></view>
  7. </view>
  8. <view class="card-box">
  9. <view class="grid-box">
  10. <view @click="toRuku">
  11. <text class="iconfont icon-ruku"></text>
  12. <text class="label">入库</text>
  13. </view>
  14. <view @click="toChuku">
  15. <text class="iconfont icon-chukuguanli"></text>
  16. <text class="label">出库</text>
  17. </view>
  18. </view>
  19. <view class="grid-box">
  20. <view @click="toPandian">
  21. <text class="iconfont icon-IMSpandianguanli"></text>
  22. <text class="label">库存盘点</text>
  23. </view>
  24. <view @click="toRecord">
  25. <text class="iconfont icon-lishijilu"></text>
  26. <text class="label">操作记录</text>
  27. </view>
  28. </view>
  29. <view class="grid-box">
  30. <view @click="toEditCode">
  31. <text class="iconfont icon-tiaomafu"></text>
  32. <text class="label">条码维护</text>
  33. </view>
  34. <view class="nob"></view>
  35. </view>
  36. </view>
  37. <view class="copright">
  38. <view>系统版本:{{version}}</view>
  39. <view>Copyright © 2023 陕西山海高科信息技术有限公司</view>
  40. </view>
  41. <!-- 选择出库类型 -->
  42. <u-action-sheet
  43. :show="showOutType"
  44. :actions="outTypeList"
  45. title="请选择出库类型"
  46. @close="showOutType = false"
  47. @select="outTypeSelect"
  48. >
  49. </u-action-sheet>
  50. </view>
  51. </template>
  52. <script>
  53. import { supplierList, sparePartsPutTypeList, checkWarehouseList, warehouseCascadeList, logout } from '@/config/api.js'
  54. export default {
  55. data() {
  56. return {
  57. showOutType: false,
  58. outTypeList:[
  59. {
  60. name: "销售出库",
  61. value: 0
  62. },
  63. {
  64. name: "连锁调出",
  65. value: 1
  66. },
  67. {
  68. name: "店内调出",
  69. value: 2
  70. },
  71. ],
  72. czCode: '',
  73. type: ''
  74. }
  75. },
  76. onLoad() {
  77. this.baseData()
  78. },
  79. computed: {
  80. userData() {
  81. return this.$store.state.vuex_user
  82. },
  83. version(){
  84. return getApp().globalData.version.version
  85. }
  86. },
  87. methods: {
  88. // 退出登录
  89. toQuit(){
  90. logout().then(res => {
  91. if(res.status == 200){
  92. this.$store.state.vuex_token = ''
  93. this.$store.state.vuex_user = ''
  94. uni.redirectTo({
  95. url: "/pages/login/index"
  96. })
  97. }
  98. })
  99. },
  100. // 同步基础数据
  101. async baseData(){
  102. // 供应商
  103. const supplier = await supplierList()
  104. this.$store.state.vuex_supplierList = supplier.data || []
  105. // 入库类型
  106. const sparePartsPutType = await sparePartsPutTypeList()
  107. this.$store.state.vuex_sparePartsTypeList = sparePartsPutType.data || []
  108. // 盘点仓库列表
  109. const checkWarehouse = await checkWarehouseList()
  110. this.$store.state.vuex_checkWarehouseList = checkWarehouse.data || []
  111. // 仓库仓位列表
  112. const warehouse = await warehouseCascadeList()
  113. this.$store.state.vuex_warehouseList = warehouse.data || []
  114. },
  115. // 新建入库
  116. toRuku(){
  117. uni.navigateTo({
  118. url: "/pages/stockIn/add"
  119. })
  120. },
  121. // 出库
  122. toChuku(){
  123. this.showOutType = true
  124. },
  125. outTypeSelect(item){
  126. this.showOutType = false
  127. console.log(item)
  128. const url = ['/pages/stockOut/salesOut/list','/pages/stockOut/chainTransferOut/list','/pages/stockOut/storeTransferOut/list']
  129. uni.navigateTo({
  130. url: url[item.value]
  131. })
  132. },
  133. // 新建盘点
  134. toPandian(){
  135. uni.navigateTo({
  136. url: "/pages/stockPan/add"
  137. })
  138. },
  139. // 数据操作
  140. toRecord(){
  141. uni.navigateTo({
  142. url:"/pages/record/index"
  143. })
  144. },
  145. toEditCode(){
  146. uni.navigateTo({
  147. url:"/pages/codeBar/codeBar"
  148. })
  149. }
  150. }
  151. }
  152. </script>
  153. <style lang="scss">
  154. .content {
  155. height: 100vh;
  156. .userData{
  157. display: flex;
  158. justify-content: space-between;
  159. align-items: center;
  160. padding: 30rpx;
  161. > view{
  162. display: flex;
  163. align-items: center;
  164. &:last-child{
  165. color: #55aaff;
  166. }
  167. }
  168. }
  169. .copright{
  170. text-align: center;
  171. color: $uni-text-color-grey;
  172. font-size: 20upx;
  173. position: fixed;
  174. left: 0;
  175. bottom: 30upx;
  176. width: 100%;
  177. }
  178. .card-box{
  179. border: 1px solid #eee;
  180. border-radius: 20upx;
  181. margin: 20rpx 40rpx;
  182. background: #fff;
  183. }
  184. .grid-box{
  185. display: flex;
  186. justify-content: space-around;
  187. padding:0;
  188. > view{
  189. width: 50%;
  190. display: flex;
  191. flex-direction: column;
  192. align-items: center;
  193. .iconfont{
  194. font-size: 120upx;
  195. padding: 20upx 0;
  196. }
  197. .label{
  198. font-size: 32upx;
  199. text-align: center;
  200. padding: 0 0 24upx 0;
  201. }
  202. .icon-ruku{
  203. color: #0055ff;
  204. }
  205. .icon-chukuguanli{
  206. color: #ff5500;
  207. }
  208. .icon-IMSpandianguanli{
  209. color: #00aa00;
  210. }
  211. .icon-xianshi{
  212. color: #55aaff;
  213. }
  214. .icon-tiaomafu{
  215. color: #ffaa00;
  216. }
  217. .icon-lishijilu{
  218. color: #55557f;
  219. }
  220. &:active{
  221. opacity: 0.8;
  222. }
  223. }
  224. .nob{
  225. border: 0;
  226. box-shadow:none;
  227. }
  228. }
  229. .uni-status-height{
  230. height: $uni-status-height;
  231. }
  232. }
  233. </style>