Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

stockOutOrderEdit.vue 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb v-if="this.$route.query.type == 1" :crumbs='crumbs'></bread-crumb>
  5. <bread-crumb v-if="this.$route.query.type == 2" :crumbs='crumbs2'></bread-crumb>
  6. <div style="float:right;">
  7. <el-button size="small" @click="back()" class="filter-item">取 消</el-button>
  8. <el-button size="small" type="primary" @click="submit()" class="filter-item">保 存</el-button>
  9. </div>
  10. </div>
  11. <div class="app-container">
  12. <stock-in-dialog
  13. ref="dialog"
  14. :propForm="propForm"
  15. :visibility="isVisibility"
  16. v-on:dialog-comfirm="comfirm"
  17. v-on:dialog-cancle="cancle"
  18. >
  19. </stock-in-dialog>
  20. <div class="cell clearfix">
  21. <label class="title"><span class="name">出库时间</span> : </label>
  22. <el-date-picker size="small" v-model="warehouse_out_time" prefix-icon="el-icon-date" :editable="false"
  23. style="width: 200px;"
  24. type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
  25. value-format="yyyy-MM-dd"></el-date-picker>
  26. </div>
  27. <!-- <div class="cell clearfix">
  28. <label class="title"><span class="name">经销商</span> : </label>
  29. <el-select size="small" v-model="form.dealer" clearable placeholder="请选择经销商" @change="changeDealer" style="width: 200px;">
  30. <el-option
  31. v-for="(option, index) in dealer"
  32. :key="index"
  33. :label="option.dealer_name"
  34. :value="option.id">
  35. </el-option>
  36. </el-select>
  37. </div> -->
  38. <!-- <div class="cell clearfix">
  39. <label class="title"><span class="name">厂商</span> : </label>
  40. <el-select size="small" v-model="form.manufacturer" clearable placeholder="请选择厂商" @change="changeManufacturer" style="width: 200px;">
  41. <el-option
  42. v-for="(option, index) in manufacturer"
  43. :key="index"
  44. :label="option.manufacturer_name"
  45. :value="option.id">
  46. </el-option>
  47. </el-select>
  48. </div> -->
  49. <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
  50. <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
  51. max-height="450" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
  52. >
  53. <el-table-column width="200" align="center">
  54. <template slot="header" slot-scope="scope">
  55. <span>耗材名称</span>
  56. </template>
  57. <template slot-scope="scope">
  58. <el-form-item style="padding-top: 20px">
  59. <el-autocomplete
  60. class="checkSearch"
  61. popper-class="my-autocomplete"
  62. v-model="scope.row.good_name"
  63. :fetch-suggestions="querySearchAsync"
  64. :trigger-on-focus="false"
  65. placeholder="请输入病人名字"
  66. @select="handleSelect"
  67. @input="changeGoodName(scope.$index)"
  68. style="width:150px;"
  69. >
  70. <i class="el-icon-search el-input__icon" slot="suffix"></i>
  71. <template slot-scope="{ item }">
  72. <div class="name">{{item.good_name +" " +item.specification_name + " "+ item.manufacturer}}</div>
  73. </template>
  74. </el-autocomplete>
  75. </el-form-item>
  76. </template>
  77. </el-table-column>
  78. <el-table-column width="140" align="center">
  79. <template slot="header" slot-scope="scope">
  80. <span>耗材类型<span style="color: red">*</span></span>
  81. </template>
  82. <template slot-scope="scope">
  83. <el-form-item style="padding-top: 20px">
  84. <el-input
  85. placeholder="请输入商品类型"
  86. v-model="scope.row.good_type_id"
  87. :value="typeName(scope.row.good_type_id)"
  88. ></el-input>
  89. </el-form-item>
  90. </template>
  91. </el-table-column>
  92. <el-table-column width="140" align="center">
  93. <template slot="header" slot-scope="scope">
  94. <span>规格&单位<span style="color: red">*</span></span>
  95. </template>
  96. <template slot-scope="scope">
  97. <el-form-item style="padding-top: 20px">
  98. <el-input v-model="scope.row.name"></el-input>
  99. </el-form-item>
  100. </template>
  101. </el-table-column>
  102. <el-table-column width="140" align="center">
  103. <template slot="header" slot-scope="scope">
  104. <span>批号<span style="color: red"></span></span>
  105. </template>
  106. <template slot-scope="scope">
  107. <el-form-item style="padding-top: 20px">
  108. <el-select v-model="scope.row.number" filterable placeholder="请选择">
  109. <el-option
  110. v-for="(item,index) in numberList"
  111. :key="index"
  112. :label="item.number"
  113. :value="item.number">
  114. </el-option>
  115. </el-select>
  116. </el-form-item>
  117. </template>
  118. </el-table-column>
  119. <el-table-column min-width="23" align="center">
  120. <template slot="header" slot-scope="scope">
  121. <span>单价<span style="color: red">*</span></span>
  122. </template>
  123. <template slot-scope="scope">
  124. <!--<el-input type="number" v-model="scope.row.price" @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
  125. <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price'
  126. style="padding-top: 17px">
  127. <el-input type="number" v-model="scope.row.price"></el-input>
  128. </el-form-item>
  129. </template>
  130. </el-table-column>
  131. <el-table-column min-width="23" align="center">
  132. <template slot="header" slot-scope="scope">
  133. <span>出库数量<span style="color: red">*</span></span>
  134. </template>
  135. <template slot-scope="scope">
  136. <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count'
  137. style="padding-top: 17px">
  138. <el-input type="number" v-model="scope.row.count"></el-input>
  139. </el-form-item>
  140. </template>
  141. </el-table-column>
  142. <el-table-column label="总价" min-width="20" align="center">
  143. <template slot-scope="scope">
  144. {{calculate(scope.row.price*scope.row.count)}}
  145. </template>
  146. </el-table-column>
  147. <el-table-column label="生产厂商" width="150" align="center">
  148. <template slot-scope="scope">
  149. <el-select size="small" v-model="scope.row.manufacturer" filterable placeholder="请选择厂商">
  150. <el-option
  151. v-for="(option, index) in manufacturerList"
  152. :key="index"
  153. :label="option.manufacturer_name"
  154. :value="option.id">
  155. </el-option>
  156. </el-select>
  157. </template>
  158. </el-table-column>
  159. <el-table-column label="备注" min-width="20" align="center">
  160. <template slot-scope="scope">
  161. <el-input v-model="scope.row.remark"></el-input>
  162. </template>
  163. </el-table-column>
  164. <el-table-column label="操作" align="center" min-width="30" fixed="right">
  165. <template slot-scope="scope">
  166. <el-tooltip class="item" effect="dark" content="新增" placement="top">
  167. <el-button
  168. size="mini"
  169. type="primary"
  170. icon="el-icon-circle-plus-outline"
  171. @click="handleEdit(scope.$index, scope.row)">
  172. </el-button>
  173. </el-tooltip>
  174. <el-tooltip class="item" effect="dark" content="删除" placement="top">
  175. <el-button
  176. size="mini"
  177. type="danger"
  178. icon="el-icon-delete"
  179. @click="handleDelete(scope.$index, scope.row)">
  180. </el-button>
  181. </el-tooltip>
  182. </template>
  183. </el-table-column>
  184. </el-table>
  185. </el-form>
  186. </div>
  187. </div>
  188. </template>
  189. <script>
  190. import { uParseTime } from '@/utils/tools'
  191. import { deleteWarehouseOutInfo, editWarehouseoutInfo, getSalesReturnConfig, getWarehouseOutInfo,GetAllConfig,GetAllGoodInfoByID,postSearchGoodList,getSingleOutOrderDetail } from '@/api/stock'
  192. import BreadCrumb from '../components/bread-crumb'
  193. import StockInDialog from './Dialog/stockInDialog'
  194. export default {
  195. components: { StockInDialog, BreadCrumb},
  196. name: 'stockOutOrderEdit',
  197. data() {
  198. return {
  199. crumbs: [
  200. { path: false, name: '库存管理' },
  201. { path: false, name: '耗材出库单' },
  202. { path: false, name: '编辑出库单' }
  203. ],
  204. crumbs2: [
  205. { path: false, name: '库存管理' },
  206. { path: false, name: '其他出库单' },
  207. { path: false, name: '编辑出库单' }
  208. ],
  209. signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
  210. adminUserOptions: null,
  211. currentIndex: 0,
  212. warehouse_out_time: '',
  213. recordInfo: {
  214. recordData: [],
  215. stock_in_code: '',
  216. current_index: ''
  217. },
  218. tableRules: {
  219. count: [
  220. { required: true, message: '数量不能为空', trigge: 'blur' }
  221. ],
  222. price: [
  223. { required: true, message: '单价不能为空', trigger: 'blur' }
  224. ]
  225. },
  226. ruleForm: {
  227. manufacturer: [
  228. { required: true, message: '请选择厂商', trigger: 'change' }
  229. ]
  230. },
  231. // prop
  232. isVisibility: false,
  233. propForm: {
  234. goods:[],
  235. goodType: [],
  236. goodInfo: [],
  237. goodUnit: [],
  238. title: '入库',
  239. manufacturer: 0,
  240. dealer: 0
  241. },
  242. form: {
  243. manufacturer: 0,
  244. dealer: 0
  245. },
  246. warehouseInfoList: [],
  247. warehouseOut: {},
  248. manufacturer: [],
  249. dealer: [],
  250. goodType: [],
  251. goodInfo:[],
  252. numberList:[],
  253. }
  254. },
  255. methods: {
  256. comfirm: function(val) {
  257. this.$refs.dialog.hide();
  258. this.propForm.goodType = [];
  259. this.propForm.goods = [];
  260. if (val.selectedGoodInfo.length > 0) {
  261. for (let i = val.selectedGoodInfo.length - 1; ; i--) {
  262. if (i == 0) {
  263. this.recordInfo.recordData[this.currentIndex].good_type_id =
  264. val.selectedGoodInfo[i].good_type_id;
  265. this.recordInfo.recordData[this.currentIndex].good_id =
  266. val.selectedGoodInfo[i].id;
  267. this.recordInfo.recordData[
  268. this.currentIndex
  269. ].price = val.selectedGoodInfo[i].buy_price.toString();
  270. } else {
  271. const tempForm = {};
  272. tempForm["id"] = 0;
  273. tempForm["good_type_id"] = val.selectedGoodInfo[i].good_type_id;
  274. tempForm["good_id"] = val.selectedGoodInfo[i].id;
  275. tempForm["count"] = "";
  276. tempForm["price"] = val.selectedGoodInfo[i].buy_price.toString();
  277. tempForm["remark"] = "";
  278. this.recordInfo.recordData.splice(
  279. this.currentIndex + 1,
  280. 0,
  281. tempForm
  282. );
  283. }
  284. }
  285. }
  286. this.currentIndex = -1;
  287. },
  288. cancle: function() {
  289. this.$refs.dialog.hide()
  290. this.propForm.goods = [];
  291. this.propForm.goodType = [];
  292. },
  293. GetConfigInfo: function() {
  294. const loading = this.$loading({
  295. lock: true,
  296. text: "Loading",
  297. spinner: "el-icon-loading",
  298. background: "rgba(0, 0, 0, 0.7)"
  299. });
  300. GetAllConfig().then(response => {
  301. if (response.data.state == 0) {
  302. this.$message.error(response.data.msg);
  303. return false;
  304. } else {
  305. this.manufacturerList = response.data.data.manufacturer;
  306. this.dealer = response.data.data.dealer;
  307. this.goodType = response.data.data.goodType;
  308. this.goodInfo = response.data.data.goodInfo;
  309. }
  310. loading.close();
  311. });
  312. }, typeName: function(good_type_id) {
  313. let name = "";
  314. for (let i = 0; i < this.goodType.length; i++) {
  315. if (this.goodType[i].id == good_type_id) {
  316. name = this.goodType[i].type_name;
  317. }
  318. }
  319. return name;
  320. }, specificationName: function(good_info_id) {
  321. let name = "";
  322. for (let i = 0; i < this.goodInfo.length; i++) {
  323. if (this.goodInfo[i].id == good_info_id) {
  324. name = this.goodInfo[i].specification_name;
  325. }
  326. }
  327. return name;
  328. },
  329. handleEdit: function(index, row) {
  330. const tempObj = {}
  331. tempObj['id'] = 0
  332. tempObj['good_type_id'] = 0
  333. tempObj['good_id'] = 0
  334. tempObj['count'] = ''
  335. tempObj['price'] = ''
  336. tempObj['remark'] = ''
  337. tempObj['number'] = ""
  338. this.recordInfo.recordData.push(tempObj)
  339. }, handleDelete: function(index, row) {
  340. if (row.id == 0) {
  341. this.recordInfo.recordData.splice(index, 1)
  342. } else {
  343. const params = {
  344. id: row.id
  345. }
  346. this.$confirm('确认删除该出库耗材信息记录?', '删除出库耗材信息记录', {
  347. confirmButtonText: '确定',
  348. cancelButtonText: '取消',
  349. type: 'warning'
  350. }).then(() => {
  351. deleteWarehouseOutInfo(params).then(response => {
  352. if (response.data.state == 0) {
  353. this.$message.error(response.data.msg)
  354. return false
  355. } else {
  356. this.$message.success('删除成功')
  357. this.recordInfo.recordData.splice(index, 1)
  358. }
  359. })
  360. }).catch(() => {
  361. })
  362. }
  363. }, getTime(val, temp) {
  364. if (val != 0) {
  365. return uParseTime(val, temp)
  366. } else {
  367. return ''
  368. }
  369. },
  370. showDialog(index, row) {
  371. this.currentIndex = index;
  372. const loading = this.$loading({
  373. lock: true,
  374. text: "Loading",
  375. spinner: "el-icon-loading",
  376. background: "rgba(0, 0, 0, 0.7)"
  377. });
  378. const params = {
  379. manufacturer_id: this.form.manufacturer,
  380. dealer_id: this.form.dealer
  381. };
  382. this.propForm.goods = []
  383. GetAllGoodInfoByID(params).then(response => {
  384. if (response.data.state == 0) {
  385. this.$message.error(response.data.msg);
  386. return false;
  387. } else {
  388. if (response.data.data.goodInfo.length <= 0) {
  389. this.$message.error("该厂商或经销商没有物品信息");
  390. return;
  391. }
  392. this.$refs.dialog.show();
  393. for (let i = 0; i < response.data.data.goodInfo.length; i++) {
  394. this.propForm.goodType.push(
  395. response.data.data.goodInfo[i].type
  396. );
  397. }
  398. const obj = {};
  399. this.propForm.goodType = this.propForm.goodType.reduce(
  400. (cur, next) => {
  401. obj[next.id] ? "" : (obj[next.id] = true && cur.push(next));
  402. return cur;
  403. },
  404. []
  405. ); // 设置cur默认类型为数组,并且初始值为空的数组
  406. }
  407. for (let i = 0; i < this.propForm.goodType.length; i++) {
  408. let goodInfo = [];
  409. let goodObj = {};
  410. for (let a = 0; a < response.data.data.goodInfo.length; a++) {
  411. var respObj = response.data.data.goodInfo[a];
  412. respObj["isSelected"] = false;
  413. if (respObj.type.id == this.propForm.goodType[i].id) {
  414. goodInfo.push(respObj);
  415. }
  416. }
  417. const obj = {};
  418. goodInfo = goodInfo.reduce((cur, next) => {
  419. obj[next.id] ? "" : (obj[next.id] = true && cur.push(next));
  420. return cur;
  421. }, []); // 设置cur默认类型为数组,并且初始值为空的数组
  422. this.$set(goodObj, this.propForm.goodType[i].id, goodInfo);
  423. this.propForm.goods.push(goodObj);
  424. }
  425. loading.close();
  426. });
  427. },
  428. back() {
  429. this.$router.go(-1)
  430. },
  431. submit() {
  432. this.$refs['tableForm'].validate((valid) => {
  433. if (valid) {
  434. const array = this.recordInfo.recordData
  435. for (let i = 0; i < array.length; i++) {
  436. if (array[i].good_type_id == 0) {
  437. this.$message.error('商品类型不能为空')
  438. return
  439. }
  440. if (array[i].good_id == 0) {
  441. this.$message.error('规格名称不能为空')
  442. return
  443. }
  444. }
  445. for(let i=0;i<this.recordInfo.recordData.length;i++){
  446. this.recordInfo.recordData[i].price = this.recordInfo.recordData[i].price.toString()
  447. for(let j=0;j<this.manufacturerList.length;j++){
  448. if(this.recordInfo.recordData[i].manufacturer == this.manufacturerList[j].manufacturer_name){
  449. this.recordInfo.recordData[i].manufacturer = this.manufacturerList[j].id
  450. }
  451. }
  452. }
  453. const params = {
  454. 'stockOut': this.recordInfo.recordData
  455. }
  456. for(let i=0;i<this.goodList.length;i++){
  457. }
  458. console.log("stockout",params)
  459. editWarehouseoutInfo(params, this.warehouse_out_time, this.$route.query.id, this.$route.query.type, this.form.manufacturer, this.form.dealer).then(response => {
  460. if (response.data.state == 0) {
  461. this.$message.error(response.data.msg)
  462. return false
  463. } else {
  464. this.$message.success('保存成功')
  465. this.$router.back(-1)
  466. }
  467. })
  468. } else {
  469. return false
  470. }
  471. })
  472. },
  473. GetOrderDetail: function(order_id) {
  474. const params = {
  475. 'id': order_id
  476. }
  477. getWarehouseOutInfo(params).then(response => {
  478. if (response.data.state == 0) {
  479. this.$message.error(response.data.msg)
  480. return false
  481. } else {
  482. console.log("详情",response.data.data.list)
  483. for (let i = 0; i < response.data.data.list.length; i++) {
  484. response.data.data.list[i].price = response.data.data.list[i].price.toString()
  485. response.data.data.list[i].count = response.data.data.list[i].count.toString()
  486. response.data.data.list[i].good_name = response.data.data.list[i].GoodInfo.good_name
  487. response.data.data.list[i].name = response.data.data.list[i].GoodInfo.good_name + "*" + response.data.data.list[i].GoodInfo.specification_name
  488. this.recordInfo.recordData.push(response.data.data.list[i])
  489. }
  490. this.warehouseOut = response.data.data.info
  491. this.warehouse_out_time = this.getTime(this.warehouseOut.warehouse_out_time, '{y}-{m}-{d}')
  492. this.form.manufacturer = this.warehouseOut.manufacturer
  493. this.form.dealer = this.warehouseOut.dealer
  494. }
  495. if (this.recordInfo.recordData.length == 0) {
  496. const tempObj = {}
  497. tempObj['id'] = 0
  498. tempObj['good_type_id'] = 0
  499. tempObj['good_id'] = 0
  500. tempObj['count'] = ''
  501. tempObj['price'] = ''
  502. tempObj['remark'] = ''
  503. this.recordInfo.recordData.push(tempObj)
  504. }
  505. })
  506. }, calculate: function(val) {
  507. if (val == 0) {
  508. return ''
  509. }
  510. return Math.round(parseFloat(val) * 100) / 100
  511. }, changeManufacturer(val) {
  512. this.propForm.manufacturer = val
  513. }, changeDealer(val) {
  514. this.propForm.dealer = val
  515. },
  516. querySearchAsync(keyword, cb) {
  517. let key = '';
  518. if (keyword != undefined) {
  519. key = keyword
  520. }
  521. console.log("keyrowrd",key)
  522. postSearchGoodList(key).then(response => {
  523. if (response.data.state == 1) {
  524. var list = response.data.data.list
  525. this.goodList = list
  526. var manufacturerList = response.data.data.manufacturerList
  527. this.manufacturerList = manufacturerList
  528. for(let i=0;i<this.goodList.length;i++){
  529. for(let j=0;j<this.manufacturerList.length;j++){
  530. if(this.goodList[i].manufacturer == this.manufacturerList[j].id){
  531. this.goodList[i].manufacturer = this.manufacturerList[j].manufacturer_name
  532. }
  533. }
  534. }
  535. cb(this.goodList)
  536. } else {
  537. cb([])
  538. }
  539. })
  540. },
  541. changeGoodName(val){
  542. this.currentIndex = val
  543. },
  544. handleSelect(val){
  545. console.log("val22222",val)
  546. for(let i=0;i<this.recordInfo.recordData.length;i++){
  547. if(this.currentIndex == i){
  548. this.recordInfo.recordData[i].good_type_id = val.id
  549. this.recordInfo.recordData[i].good_name = val.good_name
  550. this.recordInfo.recordData[i].good_type_id = val.good_type_id
  551. this.recordInfo.recordData[i].name = val.specification_name +"/"+val.packing_unit
  552. this.recordInfo.recordData[i].manufacturer = val.manufacturer
  553. this.recordInfo.recordData[i].remark = val.remark
  554. this.recordInfo.recordData[i].price = val.buy_price
  555. this.recordInfo.recordData[i].specification_name = val.specification_name
  556. this.recordInfo.recordData[i].good_id = val.id
  557. }
  558. }
  559. console.log("hhhhh232323232",val.xt_warehouse_info)
  560. if(val.xt_warehouse_info.length > 0){
  561. console.log("hhhhhhhhhh")
  562. for(let j=0;j<val.xt_warehouse_info.length;j++){
  563. this.numberList.push(val.xt_warehouse_info[j])
  564. }
  565. this.recordInfo.recordData[i].number = val.xt_warehouse_info[0].number
  566. }else{
  567. this.recordInfo.recordData[i].number = ""
  568. }
  569. },
  570. getSingleOutOrderDetail(order_id){
  571. const params = {
  572. 'id': order_id
  573. }
  574. getSingleOutOrderDetail(params).then(response=>{
  575. if(response.data.state == 1){
  576. console.log("详情",response.data.data.list)
  577. var dealerList = response.data.data.dealerList
  578. this.dealerList = dealerList
  579. var manufacturerList = response.data.data.manufacturerList
  580. console.log("hhhhhhhhh",manufacturerList)
  581. this.manufacturerList = manufacturerList
  582. this.goodType = response.data.data.goodType
  583. for (let i = 0; i < response.data.data.list.length; i++) {
  584. response.data.data.list[i].price = response.data.data.list[i].price.toString()
  585. response.data.data.list[i].count = response.data.data.list[i].count.toString()
  586. response.data.data.list[i].good_name = response.data.data.list[i].good_name
  587. response.data.data.list[i].name = response.data.data.list[i].specification_name + "/" + response.data.data.list[i].packing_unit
  588. response.data.data.list[i].good_type_id = response.data.data.list[i].good_type_id
  589. this.numberList.push(response.data.data.list[i])
  590. this.recordInfo.recordData.push(response.data.data.list[i])
  591. }
  592. }
  593. })
  594. }
  595. },
  596. created() {
  597. var nowDate = new Date();
  598. var nowYear = nowDate.getFullYear();
  599. var nowMonth = nowDate.getMonth() + 1;
  600. var nowDay = nowDate.getDate();
  601. this.warehouse_out_time =
  602. nowYear +
  603. "-" +
  604. (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
  605. "-" +
  606. (nowDay < 10 ? "0" + nowDay : nowDay);
  607. this.propForm.goodUnit = this.$store.getters.good_unit
  608. const order_id = this.$route.query.id
  609. this.getSingleOutOrderDetail(order_id)
  610. }
  611. }
  612. </script>
  613. <style rel="stylesheet/css" lang="scss" scoped>
  614. .information {
  615. border: 1px #dcdfe6 solid;
  616. padding: 30px 20px 30px 20px;
  617. .border {
  618. border-bottom: 1px #dcdfe6 solid;
  619. margin: 0px 0 20px 0;
  620. }
  621. }
  622. .edit_separater {
  623. border-top: 1px solid rgb(233, 233, 233);
  624. margin-top: 15px;
  625. margin-bottom: 15px;
  626. }
  627. </style>
  628. <style>
  629. .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
  630. font-size: 12px;
  631. }
  632. .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
  633. background: #6fb5fa;
  634. }
  635. </style>