selectMachine.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <template>
  2. <view>
  3. <view class="body">
  4. <input class="input" style="display:none;" name="code" :value=code />
  5. 编码:<input class="input" v-model="code" />
  6. <button type="primary" @click="saoma()" class="button1">
  7. <p class="p">扫码</p>
  8. </button>
  9. <button type="primary" @click="getMessage(code)" class="button1">
  10. <p class="p">获取</p>
  11. </button>
  12. </view>
  13. <view class="">
  14. <t-table>
  15. <t-tr class="tr">
  16. 机器编码:<input class="input" v-model="coding" />
  17. </t-tr>
  18. <t-tr class="tr">
  19. 机器铭牌:{{nameplate}}
  20. </t-tr>
  21. <t-tr class="tr">
  22. 设备编码:{{clientId}}
  23. </t-tr>
  24. <t-tr class="tr">
  25. 订单编码:{{orderNo}}
  26. </t-tr>
  27. <t-tr class="tr">
  28. 客户编码:{{customerNo}}
  29. </t-tr>
  30. <t-tr class="tr">
  31. 机器名称:{{name}}
  32. </t-tr>
  33. <t-tr class="tr">
  34. 总装开始时间:{{startDate}}
  35. </t-tr>
  36. <t-tr class="tr">
  37. 工序状态:{{weiname}}
  38. </t-tr>
  39. <t-tr class="tr">
  40. 模块状态:{{Modulesname}}
  41. </t-tr>
  42. <t-tr class="tr">
  43. 总装结束时间:{{endDate}}
  44. </t-tr>
  45. <t-tr class="tr">
  46. 刷卡器:{{cardReader}}
  47. </t-tr>
  48. </t-table>
  49. </view>
  50. <view class="line"></view>
  51. <view class="">
  52. <uni-list-item title="工序查询" @click="gongxu()" />
  53. </view>
  54. <view class="line"></view>
  55. <view class="line"></view>
  56. <view class="">
  57. <view v-for="(item,index) in modulesList" :key="index">
  58. <t-table class="table">
  59. <t-tr class="tr table">
  60. 名称:{{item.name}}
  61. </t-tr>
  62. <t-tr class="tr">
  63. <t-td>编码:{{item.coding}}</t-td>
  64. <t-td class="td">
  65. <button type="primary" @click="tran(item.coding)" class="button1">
  66. <p class="p">详情</p>
  67. </button>
  68. </t-td>
  69. </t-tr>
  70. </t-table>
  71. <view class="line"></view>
  72. </view>
  73. </view>
  74. </view>
  75. </template>
  76. <script>
  77. import {
  78. mapState,
  79. mapActions,
  80. mapMutations
  81. } from 'vuex';
  82. export default {
  83. data() {
  84. return {
  85. code: '',
  86. coding: '',
  87. nameplate: '',
  88. name: '',
  89. startDate: '',
  90. clientId: '',
  91. customerNo: '',
  92. orderNo: '',
  93. cardReader: '',
  94. endDate: '',
  95. modulesList: [],
  96. Modulesname: '',
  97. weiname: ''
  98. }
  99. },
  100. onShow() {
  101. },
  102. onLoad: function(option) {
  103. const item = JSON.parse(decodeURIComponent(option.item));
  104. var coding = item.coding;
  105. this.getMessage(coding);
  106. },
  107. methods: {
  108. saoma() {
  109. var that = this;
  110. // 允许从相机和相册扫码
  111. uni.scanCode({
  112. success(res) {
  113. that.code = res.result;
  114. }
  115. });
  116. },
  117. gongxu() {
  118. var item = {
  119. coding: null,
  120. type: 'get'
  121. };
  122. var coding = this.coding;
  123. item.coding = coding;
  124. uni.navigateTo({
  125. url: '../Insert/workingProcedure?item=' + encodeURIComponent(JSON.stringify(item))
  126. });
  127. },
  128. getMessage(coding) {
  129. var that = this;
  130. var serverUrl = that.serverurl;
  131. var token = uni.getStorageSync("token");
  132. uni.request({
  133. url: serverUrl + "/TMachine/selectMachine?coding=" + coding,
  134. method: "GET",
  135. header: {
  136. 'token': token
  137. },
  138. success: (Result) => {
  139. // console.log(Result);
  140. var res = Result;
  141. if (res.data.code == true) {
  142. //当机器已录入时,会先把所有录入模块给列出来
  143. if (res.data.message == 'all') {
  144. var tmachine = res.data.data.tmachine;
  145. that.name = tmachine.name;
  146. that.nameplate = tmachine.nameplate;
  147. that.clientId = tmachine.clientId;
  148. that.customerNo = tmachine.customerNo;
  149. that.orderNo = tmachine.orderNo;
  150. that.cardReader = tmachine.cardReader;
  151. that.coding = tmachine.coding;
  152. that.startDate = tmachine.startDate;
  153. that.endDate = tmachine.endDate;
  154. that.modulesList = res.data.data.modulesList;
  155. } else {
  156. var codes = res.data.data;
  157. that.name = codes.name;
  158. that.nameplate = codes.nameplate;
  159. that.clientId = codes.clientId;
  160. that.customerNo = codes.customerNo;
  161. that.orderNo = codes.orderNo;
  162. that.cardReader = codes.cardReader;
  163. that.producePersonnel = uni.getStorageSync("name");
  164. }
  165. } else {
  166. uni.showModal({
  167. title: '提示',
  168. content: res.data.message,
  169. });
  170. }
  171. this.jiancha();
  172. }
  173. });
  174. },
  175. tran(coding) {
  176. uni.setStorageSync("selectCoding", coding);
  177. uni.navigateTo({
  178. url: 'selectModules',
  179. });
  180. },
  181. jiancha() {
  182. var token = uni.getStorageSync("token");
  183. uni.request({
  184. url: this.serverurl + "/TWorkingProcedure/jiancha",
  185. method: "POST",
  186. data: {
  187. "machineCoding": this.coding
  188. },
  189. header: {
  190. 'token': token
  191. },
  192. success: (Result) => {
  193. var res = Result;
  194. if (res.data.code == false) {
  195. var re = res.data.data.toString();
  196. this.weiname = re + '未安装';
  197. } else {
  198. this.weiname = '已全部安装';
  199. }
  200. this.jianchaModules();
  201. }
  202. });
  203. },
  204. jianchaModules() {
  205. var token = uni.getStorageSync("token");
  206. uni.request({
  207. url: this.serverurl + "/TModules/jianchaModules?machineCoding=" + this.coding,
  208. method: "GET",
  209. header: {
  210. 'token': token
  211. },
  212. success: (Result) => {
  213. var res = Result;
  214. if (res.data.code == false) {
  215. var re = res.data.data.toString();
  216. this.Modulesname = re + '未安装';
  217. } else {
  218. this.Modulesname = '已全部安装';
  219. }
  220. }
  221. });
  222. }
  223. }
  224. }
  225. </script>
  226. <style>
  227. .body {
  228. background-color: #FFFFFF;
  229. padding: 20upx 20upx 20upx 20upx;
  230. font-size: 30upx;
  231. display: flex;
  232. flex-direction: row;
  233. justify-content: flex-start;
  234. }
  235. .table {
  236. padding-top: 30upx;
  237. }
  238. .tr {
  239. padding-left: 30upx;
  240. padding-top: 13upx;
  241. font-size: 30upx;
  242. padding-bottom: 13upx;
  243. }
  244. .td {
  245. padding-left: 280upx;
  246. }
  247. .input {
  248. /* padding: 10upx 20upx 10upx 0upx; */
  249. padding-left: 20upx;
  250. padding-top: 10upx;
  251. background-color: #FFFFFF;
  252. width: 400upx;
  253. height: 50upx;
  254. box-shadow: 0upx 0upx 20upx #D3D3D3;
  255. border-radius: 5upx;
  256. }
  257. .button {
  258. margin: auto;
  259. width: 60%;
  260. height: 100upx;
  261. }
  262. .button1 {
  263. margin: auto;
  264. width: 75upx;
  265. height: 50upx;
  266. text-align: right
  267. }
  268. .p {
  269. /* #ifdef H5 */
  270. top: -13%;
  271. /* #endif */
  272. width: 50upx;
  273. height: 30upx;
  274. font-size: 25upx;
  275. padding-right: 9upx;
  276. padding-top: 6upx;
  277. /* #ifndef H5 */
  278. /* padding-top: 10upx; */
  279. /* #endif */
  280. position: absolute;
  281. /* 水平居中 */
  282. left: 50%;
  283. -webkit-transform: translateX(-50%);
  284. transform: translateX(-50%);
  285. }
  286. .p1 {
  287. /* #ifdef H5 */
  288. top: -13%;
  289. /* #endif */
  290. width: 80upx;
  291. height: 60upx;
  292. font-size: 40upx;
  293. padding-top: 6upx;
  294. /* #ifndef H5 */
  295. padding-top: 10upx;
  296. /* #endif */
  297. position: absolute;
  298. /* 水平居中 */
  299. left: 50%;
  300. -webkit-transform: translateX(-50%);
  301. transform: translateX(-50%);
  302. }
  303. .radio {
  304. padding-top: 20upx;
  305. padding-left: 30upx;
  306. }
  307. .lis {
  308. padding-left: 90upx;
  309. font-size: 30upx;
  310. padding-top: 5upx;
  311. }
  312. .title {
  313. padding-left: 20upx;
  314. font-size: 35upx;
  315. }
  316. .line {
  317. background: #ECECEC;
  318. height: 10upx;
  319. }
  320. </style>