acceptDetail.vue 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. <template>
  2. <div>
  3. <!-- 永济项目没有订单状态 制单人-->
  4. <!-- <div class="common-card">
  5. <h3>订单状态</h3>
  6. <yl-step></yl-step>
  7. </div> -->
  8. <div class="common-card">
  9. <h3>基本信息</h3>
  10. <el-form
  11. :model="listForm"
  12. ref="listform"
  13. label-width="237px"
  14. class="grid-form-class"
  15. >
  16. <div class="form-body">
  17. <div class="flex-css">
  18. <el-form-item label="采购单号" prop="id">
  19. <div class="content">
  20. {{ listForm.id }}
  21. </div>
  22. </el-form-item>
  23. <el-form-item label="采购品种" prop="detlCnt">
  24. <div class="content">
  25. {{ listForm.detlCnt }}
  26. </div>
  27. </el-form-item>
  28. <el-form-item label="总数量" prop="qtySum">
  29. <div class="content">
  30. {{ listForm.qtySum }}
  31. </div>
  32. </el-form-item>
  33. </div>
  34. <div class="flex-css">
  35. <el-form-item label="总金额" prop="purcAmt">
  36. <div class="content">
  37. {{ listForm.purcAmt }}
  38. </div>
  39. </el-form-item>
  40. <el-form-item label="采购时间" prop="docmkDate">
  41. <div class="content">
  42. {{ listForm.docmkDate }}
  43. </div>
  44. </el-form-item>
  45. <el-form-item label="采购员" prop="docmker">
  46. <div class="content">
  47. {{ listForm.docmker }}
  48. </div>
  49. </el-form-item>
  50. </div>
  51. <div class="flex-css">
  52. <el-form-item label="手术名称" prop="stas">
  53. <div class="content">
  54. {{ listForm.stas }}
  55. </div>
  56. </el-form-item>
  57. <el-form-item label="手术间" prop="stas">
  58. <div class="content">
  59. {{ listForm.stas }}
  60. </div>
  61. </el-form-item>
  62. <el-form-item label="主治医生" prop="stas">
  63. <div class="content">
  64. {{ listForm.stas }}
  65. </div>
  66. </el-form-item>
  67. </div>
  68. <div class="flex-css">
  69. <el-form-item label="手术日期" prop="stas">
  70. <div class="content">
  71. {{ listForm.stas }}
  72. </div>
  73. </el-form-item>
  74. <el-form-item label="当前状态" prop="stas">
  75. <div class="content">
  76. {{ listForm.stas }}
  77. </div>
  78. </el-form-item>
  79. <el-form-item label=" " prop="stas">
  80. <div class="content">
  81. <!-- {{ listForm.stas }} -->
  82. </div>
  83. </el-form-item>
  84. </div>
  85. </div>
  86. </el-form>
  87. </div>
  88. <div class="common-card">
  89. <h3>商品明细</h3>
  90. <el-form :model="list">
  91. <el-table
  92. v-loading="listLoading"
  93. element-loading-text="加载中"
  94. :data="list"
  95. fit
  96. stripe
  97. border
  98. >
  99. <template slot="empty">
  100. <img src="@/assets/nopage.png" alt />
  101. <p>暂无数据</p>
  102. </template>
  103. <el-table-column fixed type="index" label="序号" width="60" />
  104. <el-table-column label="耗材编码" prop="materialId" />
  105. <el-table-column label="医保编码" prop="ybbm" />
  106. <el-table-column label="耗材信息" width="230">
  107. <template slot-scope="scope">
  108. <mcs-info :info="scope.row"></mcs-info>
  109. </template>
  110. </el-table-column>
  111. <el-table-column label="规格" prop="spec" />
  112. <el-table-column label="型号" prop="model" />
  113. <el-table-column label="材质" prop="matl" />
  114. <el-table-column label="是否集采" prop="isFas" >
  115. <template #default="{ row }">
  116. <span v-if="row.isFas == '0'">否</span>
  117. <span v-if="row.isFas == '1'">是</span>
  118. </template>
  119. </el-table-column>
  120. <el-table-column label="包装" prop="convrat" width="120px">
  121. <template #default="{ row }">
  122. <span>{{row.purcUnt}} ({{row.convrat}}{{row.prcUnt}}/{{row.purcUnt}})</span>
  123. </template>
  124. </el-table-column>
  125. <el-table-column label="申请数量" prop="purcCnt" />
  126. <el-table-column label="单价" prop="purcPric" >
  127. <template #default="{ row }">
  128. <span>{{row.purcPric}}元/{{row.prcUnt}}</span>
  129. </template>
  130. </el-table-column>
  131. <el-table-column label="总额" prop="purcAmt" />
  132. </el-table>
  133. </el-form>
  134. <div class="foot-button">
  135. <el-button type="primary" @click="handleAccept" :loading="aaLoad">确 认</el-button>
  136. <el-button type="danger" @click="handleReturn" :loading="aaLoad">退 回</el-button>
  137. <el-button type="info" @click="handleBack">返 回</el-button>
  138. </div>
  139. </div>
  140. </div>
  141. </template>
  142. <script>
  143. import ylStep from "@/components/yl-step";
  144. import ylPagination from "@/components/yl-pagination";
  145. import { getMcsDetlList,acpMcsOrd } from "@/api/orderManage-sup/index";
  146. export default {
  147. components: {
  148. ylStep,
  149. ylPagination,
  150. },
  151. data() {
  152. return {
  153. listForm: {
  154. id: "",
  155. detlCnt: "",
  156. qtySum: "",
  157. purcAmt: "",
  158. docmker: "",
  159. docmkDate: "",
  160. stas:"",
  161. },
  162. listLoading: false,
  163. list: [],
  164. aaLoad: false,
  165. isShow: false,
  166. returnInfo: false,
  167. stasOptions: [
  168. { value: "A", lable: "未受理" },
  169. { value: "B", lable: "已受理" },
  170. { value: "R", lable: "被驳回" },
  171. { value: "C", lable: "已出库" },
  172. { value: "D", lable: "部分出库" },
  173. { value: "Y", lable: "已入库" },
  174. { value: "P", lable: "部分入库" },
  175. ],
  176. essdrugOptions: ["非基药", "基药"],
  177. };
  178. },
  179. created() {
  180. if (this.$route.query.stas == "A") {
  181. this.isShow = true;
  182. } else {
  183. this.isShow = false;
  184. }
  185. this.listForm.id = this.$route.query.id;
  186. this.listForm.detlCnt = this.$route.query.detlCnt;
  187. this.listForm.purcAmt = this.$route.query.purcAmt;
  188. this.listForm.qtySum = this.$route.query.qtySum;
  189. this.listForm.docmker = this.$route.query.docmker;
  190. this.listForm.docmkDate = this.$route.query.docmkDate;
  191. this.stasOptions.forEach((i) => {
  192. if (i.value == this.$route.query.stas) {
  193. this.listForm.stas = i.lable;
  194. }
  195. });
  196. this.getData();
  197. },
  198. methods: {
  199. getData() {
  200. this.listLoading = true;
  201. getMcsDetlList({ id: this.$route.query.id })
  202. .then((res) => {
  203. this.list = res.data;
  204. this.list.forEach((i) => {
  205. if (i.rejtRea) {
  206. i.flag = true;
  207. }
  208. i.essdrugType = this.essdrugOptions[i.essdrugType * 1];
  209. });
  210. this.listLoading = false;
  211. })
  212. .catch((err) => {
  213. this.listLoading = false;
  214. });
  215. },
  216. // 是否驳回开关
  217. handleSwitch(index, row) {
  218. console.log(row);
  219. if (row.flag == false) {
  220. row.rejtRea = "";
  221. this.returnInfo = false;
  222. } else {
  223. this.returnInfo = true;
  224. }
  225. },
  226. // 驳回
  227. handleReject(row) {
  228. this.$refs.listRef.validate((valid) => {
  229. if (valid) {
  230. }
  231. });
  232. },
  233. // 取消驳回
  234. handleNoReject(row) {},
  235. // 受理
  236. handleAccept() {
  237. // this.list.forEach((e) => {
  238. // if (e.flag == true && !e.rejtRea) {
  239. // this.$message({
  240. // message: "选择是否驳回后请填写驳回原因",
  241. // type: "warning",
  242. // });
  243. // throw new Error("选择是否驳回后请填写驳回原因");
  244. // }
  245. // });
  246. this.$confirm("确认受理", "提示", {
  247. confirmButtonText: "确定",
  248. cancelButtonText: "取消",
  249. type: "warning",
  250. }).then(() => {
  251. // let data = this.list.filter((i) => {
  252. // if (i.flag == true) {
  253. // return i;
  254. // }
  255. // });
  256. // let data2 = data.map((i) => {
  257. // return { id: i.id, rejtRea: i.rejtRea };
  258. // });
  259. let data3 = {
  260. id: this.$route.query.id,
  261. // rejtList: data2,
  262. };
  263. this.aaLoad = true;
  264. acpMcsOrd(data3)
  265. .then((res) => {
  266. this.aaLoad = false;
  267. this.$router.push("purOrderAccept");
  268. })
  269. .catch((err) => {
  270. this.aaLoad = false;
  271. });
  272. });
  273. },
  274. // 返回
  275. handleBack() {
  276. this.$router.push({
  277. name: "purOrderAccept",
  278. });
  279. },
  280. },
  281. };
  282. </script>
  283. <style lang="scss" scoped></style>