warehouse_list-detail.vue 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. <template>
  2. <div>
  3. <el-form label-width="120px" :inline="false" size="small" label-position="left">
  4. <div class="sty">
  5. <el-page-header @back="goBack" content="详情页面"> </el-page-header>
  6. </div>
  7. <el-card class="box-card">
  8. <div slot="header" class="clearfix">
  9. <span>组织信息</span>
  10. </div>
  11. <el-row :gutter="20">
  12. <el-col :xs="24" :sm="8" :lg="8">
  13. <el-form-item label="创建组织" size="small">
  14. <el-input
  15. v-model="detail.createOrgName"
  16. :readonly="isReadonly"
  17. size="small"
  18. ></el-input>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :xs="24" :sm="8" :lg="8">
  22. <el-form-item label="编码" size="small">
  23. <el-input
  24. v-model="detail.useOrgNumber"
  25. :readonly="isReadonly"
  26. size="small"
  27. ></el-input>
  28. </el-form-item>
  29. </el-col>
  30. <el-col :xs="24" :sm="8" :lg="8">
  31. <el-form-item label="名称" size="small">
  32. <el-input v-model="detail.name" :readonly="isReadonly" size="small"></el-input>
  33. </el-form-item>
  34. </el-col>
  35. </el-row>
  36. </el-card>
  37. <el-card class="box-card">
  38. <div slot="header" class="clearfix">
  39. <span>基本信息</span>
  40. </div>
  41. <div class="baseInfo">
  42. <el-row :gutter="40">
  43. <el-col :span="12" :offset="0">
  44. <div>
  45. <div class="base-header">
  46. <span>基本信息</span>
  47. </div>
  48. <el-row>
  49. <el-col :span="24"
  50. ><span class="marg-r"></span>
  51. <el-form-item label="仓库属性" size="small">
  52. <el-input
  53. v-model="detail.stockProperty"
  54. :readonly="isReadonly"
  55. size="small"
  56. ></el-input>
  57. </el-form-item>
  58. </el-col>
  59. </el-row>
  60. <el-row>
  61. <el-col :span="24">
  62. <el-form-item label="供应商" size="small">
  63. <el-input
  64. v-model="detail.supplierName"
  65. :readonly="isReadonly"
  66. size="small"
  67. ></el-input>
  68. </el-form-item>
  69. </el-col>
  70. </el-row>
  71. <el-row>
  72. <el-col :span="24">
  73. <el-form-item label="客户" size="small">
  74. <el-input
  75. v-model="detail.customerName"
  76. :readonly="isReadonly"
  77. size="small"
  78. ></el-input>
  79. </el-form-item>
  80. </el-col>
  81. </el-row>
  82. <el-row>
  83. <el-col :span="24"
  84. >
  85. <el-form-item label="仓库地址" size="small">
  86. <el-input
  87. v-model="detail.address"
  88. :readonly="isReadonly"
  89. size="small"
  90. ></el-input>
  91. </el-form-item>
  92. </el-col>
  93. </el-row>
  94. <el-row>
  95. <el-col :span="24"
  96. >
  97. <el-form-item label="仓库负责人" size="small">
  98. <el-input
  99. v-model="detail.principalName"
  100. :readonly="isReadonly"
  101. size="small"
  102. ></el-input>
  103. </el-form-item>
  104. </el-col>
  105. </el-row>
  106. <el-row>
  107. <el-col :span="24"
  108. >
  109. <el-form-item label="联系电话" size="small">
  110. <el-input
  111. v-model="detail.tel"
  112. :readonly="isReadonly"
  113. size="small"
  114. ></el-input>
  115. </el-form-item>
  116. </el-col>
  117. </el-row>
  118. <el-row>
  119. <el-col :span="24"
  120. >
  121. <el-form-item label="描述" size="small">
  122. <el-input
  123. v-model="detail.description"
  124. :readonly="isReadonly"
  125. size="small"
  126. ></el-input>
  127. </el-form-item>
  128. </el-col>
  129. </el-row>
  130. <el-row>
  131. <el-col :span="24"
  132. >
  133. <el-form-item label="分组" size="small">
  134. <el-input
  135. v-model="detail.groupName"
  136. :readonly="isReadonly"
  137. size="small"
  138. ></el-input>
  139. </el-form-item>
  140. </el-col>
  141. </el-row>
  142. <el-row>
  143. <el-col :span="24"
  144. >
  145. <el-form-item label="管易仓" size="small">
  146. <el-input
  147. :value="detail.gysStock?'是':'否'"
  148. :readonly="isReadonly"
  149. size="small"
  150. ></el-input>
  151. </el-form-item>
  152. </el-col>
  153. </el-row>
  154. <el-row>
  155. <el-col :span="24"
  156. >
  157. <el-form-item label="管易仓编码" size="small">
  158. <el-input
  159. v-model="detail.gysStockNumber"
  160. :readonly="isReadonly"
  161. size="small"
  162. ></el-input>
  163. </el-form-item>
  164. </el-col>
  165. </el-row>
  166. <el-row>
  167. <el-col :span="24"
  168. >
  169. <el-form-item label="第三方仓储类型" size="small">
  170. <el-input
  171. v-model="detail.thirdStockType"
  172. :readonly="isReadonly"
  173. size="small"
  174. ></el-input>
  175. </el-form-item>
  176. </el-col>
  177. </el-row>
  178. <el-row>
  179. <el-col :span="24"
  180. >
  181. <el-form-item label="第三方仓库编码" size="small">
  182. <el-input
  183. v-model="detail.thirdStockNo"
  184. :readonly="isReadonly"
  185. size="small"
  186. ></el-input>
  187. </el-form-item>
  188. </el-col>
  189. </el-row>
  190. </div>
  191. </el-col>
  192. <el-col :span="12" :offset="0">
  193. <div>
  194. <div class="base-header">
  195. <span>库存状态</span>
  196. </div>
  197. <el-row>
  198. <el-col :span="24"
  199. >
  200. <el-form-item label="库存状态类型" size="small">
  201. <el-input
  202. v-model="stockStatusType"
  203. :readonly="isReadonly"
  204. size="small"
  205. ></el-input>
  206. </el-form-item>
  207. </el-col>
  208. </el-row>
  209. <el-row>
  210. <el-col :span="24"
  211. >
  212. <el-form-item label="默认库存状态" size="small">
  213. <el-input
  214. v-model="detail.defStockStatusName"
  215. :readonly="isReadonly"
  216. size="small"
  217. ></el-input>
  218. </el-form-item>
  219. </el-col>
  220. </el-row>
  221. <el-row>
  222. <el-col :span="24"
  223. >
  224. <el-form-item label="默认收料状态" size="small">
  225. <el-input
  226. v-model="detail.defReceiveStatusName"
  227. :readonly="isReadonly"
  228. size="small"
  229. ></el-input>
  230. </el-form-item>
  231. </el-col>
  232. </el-row>
  233. <div class="base-header">
  234. <span>控制</span>
  235. </div>
  236. <el-row>
  237. <el-row>
  238. <el-col :span="12"
  239. >
  240. <el-form-item label="允许客户查询" size="small">
  241. <el-checkbox :readonly="isReadonly" v-model="detail.inquire" :true-label="1" :false-label="0">{{''}}</el-checkbox>
  242. </el-form-item>
  243. </el-col>
  244. <el-col :span="12"
  245. >
  246. <el-form-item label="允许即时库存负库存" size="small">
  247. <el-checkbox :readonly="isReadonly" v-model="detail.allowMinusQty" :label="true">{{''}}</el-checkbox>
  248. </el-form-item>
  249. </el-col>
  250. <el-col :span="12"
  251. >
  252. <el-form-item label="允许MRP计划" size="small">
  253. <el-checkbox :readonly="isReadonly" v-model="detail.allowMrpPlan" :label="true">{{''}}</el-checkbox>
  254. </el-form-item>
  255. </el-col>
  256. </el-row>
  257. <el-row>
  258. <el-col :span="12"
  259. >
  260. <el-form-item label="允许锁库" size="small">
  261. <el-checkbox :readonly="isReadonly" v-model="detail.allowLock" :label="true">{{''}}</el-checkbox>
  262. </el-form-item>
  263. </el-col>
  264. <el-col :span="12"
  265. >
  266. <el-form-item label="参与预警" size="small">
  267. <el-checkbox :readonly="isReadonly" v-model="detail.availableAlert" :label="true">{{''}}</el-checkbox>
  268. </el-form-item>
  269. </el-col>
  270. </el-row>
  271. <el-row>
  272. <el-col :span="12"
  273. >
  274. <el-form-item label="启用仓位管理" size="small">
  275. <el-checkbox :readonly="isReadonly" v-model="detail.openLocation" :label="true">{{''}}</el-checkbox>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="12"
  279. >
  280. <el-form-item label="虚拟仓" size="small">
  281. <el-checkbox :readonly="isReadonly" v-model="detail.stockType" :true-label="1" :false-label="0">{{''}}</el-checkbox>
  282. </el-form-item>
  283. </el-col>
  284. <el-col :span="12"
  285. >
  286. <el-form-item label="参与拣货" size="small">
  287. <el-checkbox :readonly="isReadonly" v-model="detail.availablePicking" :label="true">{{''}}</el-checkbox>
  288. </el-form-item>
  289. </el-col>
  290. </el-row>
  291. <el-row>
  292. <el-col :span="12"
  293. >
  294. <el-form-item label="不参与可发量统计" size="small">
  295. <el-checkbox :readonly="isReadonly" v-model="detail.notExpQty" :label="true">{{''}}</el-checkbox>
  296. </el-form-item>
  297. </el-col>
  298. <el-col :span="12"> </el-col>
  299. </el-row>
  300. </el-row>
  301. <el-row>
  302. <el-col :span="24"
  303. >
  304. <el-form-item label="拣货优先级(1~9999)" size="small">
  305. <el-input
  306. v-model="detail.sortingPriority"
  307. :readonly="isReadonly"
  308. size="small"
  309. ></el-input>
  310. </el-form-item>
  311. </el-col>
  312. </el-row>
  313. <el-row>
  314. <el-col :span="24"
  315. >
  316. <el-form-item label="仓位维度数据列表显示格式" size="small">
  317. <el-input
  318. v-model="detail.loclistFormatter"
  319. :readonly="isReadonly"
  320. size="small"
  321. ></el-input>
  322. </el-form-item>
  323. </el-col>
  324. </el-row>
  325. </div>
  326. </el-col>
  327. </el-row>
  328. </div>
  329. <el-button type="primary" @click="setStock">保存</el-button>
  330. </el-card>
  331. </el-form>
  332. </div>
  333. </template>
  334. <script>
  335. import { setStock } from "@/api/basic_data/warehouse";
  336. export default {
  337. props: {
  338. detail: {
  339. type: Object,
  340. default: {},
  341. isReadonly:true
  342. },
  343. },
  344. computed: {
  345. stockStatusType() {
  346. let typeStr = "";
  347. const typeArr = this.detail.stockStatusType.split(",");
  348. for (let i = 0; i < typeArr.length; i++) {
  349. switch (typeArr[i]) {
  350. case "1":
  351. typeStr += "1待检";
  352. break;
  353. case "2":
  354. typeStr += "2冻结";
  355. break;
  356. case "3":
  357. typeStr += "3退回";
  358. break;
  359. case "4":
  360. typeStr += "4在途";
  361. break;
  362. case "5":
  363. typeStr += "5收货";
  364. break;
  365. case "6":
  366. typeStr += "6废品";
  367. break;
  368. case "7":
  369. typeStr += "7不良";
  370. break;
  371. case "8":
  372. typeStr += "8外借";
  373. break;
  374. default:
  375. typeStr += "0可用";
  376. break;
  377. }
  378. }
  379. console.log(typeStr);
  380. return typeStr;
  381. },
  382. },
  383. methods: {
  384. goBack() {
  385. console.log(this.$parent);
  386. this.$parent.isShow = true;
  387. },
  388. setStock(){
  389. setStock({
  390. inquire:this.detail.inquire,
  391. stockType:this.detail.stockType,
  392. id:this.detail.id
  393. }).then((res) => {
  394. this.$successMsg('保存成功')
  395. this.$parent.isShow = true;
  396. })
  397. }
  398. },
  399. };
  400. </script>
  401. <style lang="scss" scoped>
  402. .flex {
  403. display: flex;
  404. div {
  405. width: 120px;
  406. }
  407. }
  408. .baseWidth {
  409. width: 46%;
  410. }
  411. .inputDate {
  412. width: 46%;
  413. }
  414. .selectStyle2 {
  415. width: 35%;
  416. }
  417. .selectStyle {
  418. width: 35%;
  419. }
  420. .textareaStyle {
  421. vertical-align: text-top;
  422. resize: none;
  423. width: 35%;
  424. height: 100px;
  425. }
  426. .color {
  427. color: #1f93ec;
  428. }
  429. .el-col-24 {
  430. margin: 6px 0;
  431. }
  432. .marg-r {
  433. padding-right: 15px;
  434. font-size: 12px;
  435. display: inline-block;
  436. width: 120px;
  437. }
  438. .base-header {
  439. height: 20px;
  440. width: 60%;
  441. border-bottom: 2px solid gray;
  442. span {
  443. width: 100px;
  444. height: 100%;
  445. display: block;
  446. text-align: center;
  447. color: #fff;
  448. background-color: gray;
  449. }
  450. }
  451. .box-card {
  452. margin-bottom: 20px;
  453. }
  454. .el-col-8 {
  455. span {
  456. padding-right: 10px;
  457. display: inline-block;
  458. width: 100px;
  459. }
  460. }
  461. // .baseInfo {
  462. // display: flex;
  463. // justify-content: space-between;
  464. // > div {
  465. // width: 33%;
  466. // }
  467. // }
  468. .sty {
  469. margin-bottom: 20px;
  470. }
  471. .el-row {
  472. margin-bottom: 20px;
  473. &:last-child {
  474. margin-bottom: 0;
  475. }
  476. }
  477. </style>