form.vue 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353
  1. <template>
  2. <view class="page-container uni-column">
  3. <view class="tab-container">
  4. <view v-for="(item, index) in processInspectionTypeList" :key="index"
  5. :class="{ 'tab-item': true, 'active': isActived === item }">
  6. <text @click="selectedStatus(item)">{{ item.label }}</text>
  7. </view>
  8. </view>
  9. <!-- 交检 -->
  10. <view v-if="isActived.label == '交检' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  11. <view class="carrier-info uni-column">
  12. <view class="carrier-code uni-row">
  13. <text>箱号</text>
  14. <text
  15. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].carrierCode}}</text>
  16. <text style="margin-left: 150px;color: aquamarine">交检</text>
  17. </view>
  18. <view class="info-row uni-row">
  19. <view class="label">图号</view>
  20. <view class="value">
  21. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].drawingNumber }}
  22. </view>
  23. </view>
  24. <view class="info-row uni-row">
  25. <view class="label">批次号</view>
  26. <view class="value">
  27. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].lotCode }}
  28. </view>
  29. </view>
  30. <view class="info-row uni-row">
  31. <view class="label">工艺版本</view>
  32. <view class="value">
  33. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].technologyVersion }}
  34. </view>
  35. </view>
  36. <view class="info-row uni-row">
  37. <view class="label">产品描述</view>
  38. <view class="value">
  39. {{inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')]. productDescription }}
  40. </view>
  41. </view>
  42. <view class="info-row uni-row">
  43. <view class="label">当前工序</view>
  44. <view class="value">
  45. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].processAlias }}
  46. </view>
  47. </view>
  48. <view class="info-row uni-row">
  49. <view class="label">操作者</view>
  50. <view class="value">
  51. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].nickName }}
  52. </view>
  53. </view>
  54. <view class="info-row uni-row">
  55. <view class="label">设备</view>
  56. <view class="value">
  57. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].equipmentDetailCode }}
  58. </view>
  59. </view>
  60. <view class="info-row uni-row">
  61. <view class="label">检查载具</view>
  62. <view class="value">
  63. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].inspectionCarrierCode }}
  64. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  65. </view>
  66. </view>
  67. <view class="info-row uni-row">
  68. <view class="drawing-btn"
  69. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')])">
  70. 图纸信息</view>
  71. </view>
  72. </view>
  73. <!-- 废品信息 -->
  74. <view class="title unfit-title uni-row">
  75. <text>检查信息</text>
  76. </view>
  77. <view class="unfit-container">
  78. <view class="unfit-item-container uni-column"
  79. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].processInspectionDetails"
  80. :key="index">
  81. <view class="resu uni-row">
  82. <view class="label">检查标准</view>
  83. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  84. </view>
  85. <view class="resu uni-row">
  86. <view class="label">检查结果</view>
  87. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  88. <view v-else class="value">{{ item.checkResult }}</view>
  89. </view>
  90. <view class="resu uni-row">
  91. <view class="label">超差范围</view>
  92. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  93. <view v-else class="value">{{ item.exceedLimits }}</view>
  94. </view>
  95. <view class="resu uni-row">
  96. <view :class="!editable() ? 'label' : ''">检查量</view>
  97. <input v-if="editable()" :disabled="true" class="number" type="number"
  98. v-model="item.examiningNum" />
  99. <view v-else class="number value">{{ item.examiningNum }}</view>
  100. <view :class="!editable() ? 'label' : ''">不良品量</view>
  101. <input v-if="editable()" :disabled="true" class="number" type="number"
  102. v-model="item.disqualificationNum" />
  103. <view v-else class="value">{{ item.disqualificationNum }}</view>
  104. </view>
  105. </view>
  106. </view>
  107. <!-- 咨询部分 -->
  108. <view class="title unfit-title uni-row">
  109. <text>咨询</text>
  110. </view>
  111. <view class="consultation-container uni-column">
  112. <view class="consultation-item-container"
  113. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].dayworkItemConsults"
  114. :key="index">
  115. <view class="question uni-column">
  116. <view class="label uni-row">
  117. <text>问题描述</text>
  118. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  119. {{ selectText(item) }}</text>
  120. </view>
  121. <view class="content">{{ item.content }}</view>
  122. </view>
  123. </view>
  124. </view>
  125. <!-- 报工部分 -->
  126. <view class="daywork-container">
  127. <view class="result uni-row">
  128. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">交检状态</view>
  129. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  130. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].status"
  131. :localdata="range"></uni-data-checkbox>
  132. </view>
  133. <view class="remark uni-row">
  134. <view class="label">备注</view>
  135. <textarea disabled="true"
  136. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'deliveryInspection')].remark" />
  137. </view>
  138. </view>
  139. </view>
  140. <!-- 巡检 -->
  141. <view v-if="isActived.label == '巡检' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  142. <view class="carrier-info uni-column">
  143. <view class="carrier-code uni-row">
  144. <text>箱号</text>
  145. <text
  146. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].carrierCode}}</text>
  147. <text style="margin-left: 150px;color: aquamarine">巡检</text>
  148. </view>
  149. <view class="info-row uni-row">
  150. <view class="label">图号</view>
  151. <view class="value">
  152. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].drawingNumber }}
  153. </view>
  154. </view>
  155. <view class="info-row uni-row">
  156. <view class="label">批次号</view>
  157. <view class="value">
  158. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].lotCode }}
  159. </view>
  160. </view>
  161. <view class="info-row uni-row">
  162. <view class="label">工艺版本</view>
  163. <view class="value">
  164. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].technologyVersion }}
  165. </view>
  166. </view>
  167. <view class="info-row uni-row">
  168. <view class="label">产品描述</view>
  169. <view class="value">
  170. {{inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')]. productDescription }}
  171. </view>
  172. </view>
  173. <view class="info-row uni-row">
  174. <view class="label">当前工序</view>
  175. <view class="value">
  176. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].processAlias }}
  177. </view>
  178. </view>
  179. <view class="info-row uni-row">
  180. <view class="label">操作者</view>
  181. <view class="value">
  182. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].nickName }}
  183. </view>
  184. </view>
  185. <view class="info-row uni-row">
  186. <view class="label">设备</view>
  187. <view class="value">
  188. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].equipmentDetailCode }}
  189. </view>
  190. </view>
  191. <view class="info-row uni-row">
  192. <view class="label">检查载具</view>
  193. <view class="value">
  194. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].inspectionCarrierCode }}
  195. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  196. </view>
  197. </view>
  198. <view class="info-row uni-row">
  199. <view class="drawing-btn"
  200. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')])">
  201. 图纸信息</view>
  202. </view>
  203. </view>
  204. <!-- 废品信息 -->
  205. <view class="title unfit-title uni-row">
  206. <text>检查信息</text>
  207. </view>
  208. <view class="unfit-container">
  209. <view class="unfit-item-container uni-column"
  210. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].processInspectionDetails"
  211. :key="index">
  212. <view class="resu uni-row">
  213. <view class="label">检查标准</view>
  214. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  215. </view>
  216. <view class="resu uni-row">
  217. <view class="label">检查结果</view>
  218. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  219. <view v-else class="value">{{ item.checkResult }}</view>
  220. </view>
  221. <view class="resu uni-row">
  222. <view class="label">超差范围</view>
  223. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  224. <view v-else class="value">{{ item.exceedLimits }}</view>
  225. </view>
  226. <view class="resu uni-row">
  227. <view :class="!editable() ? 'label' : ''">检查量</view>
  228. <input v-if="editable()" :disabled="true" class="number" type="number"
  229. v-model="item.examiningNum" />
  230. <view v-else class="number value">{{ item.examiningNum }}</view>
  231. <view :class="!editable() ? 'label' : ''">不良品量</view>
  232. <input v-if="editable()" :disabled="true" class="number" type="number"
  233. v-model="item.disqualificationNum" />
  234. <view v-else class="value">{{ item.disqualificationNum }}</view>
  235. </view>
  236. </view>
  237. </view>
  238. <!-- 咨询部分 -->
  239. <view class="title unfit-title uni-row">
  240. <text>咨询</text>
  241. </view>
  242. <view class="consultation-container uni-column">
  243. <view class="consultation-item-container"
  244. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].dayworkItemConsults"
  245. :key="index">
  246. <view class="question uni-column">
  247. <view class="label uni-row">
  248. <text>问题描述</text>
  249. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  250. {{ selectText(item) }}</text>
  251. </view>
  252. <view class="content">{{ item.content }}</view>
  253. </view>
  254. </view>
  255. </view>
  256. <!-- 报工部分 -->
  257. <view class="daywork-container">
  258. <view class="result uni-row">
  259. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">巡检状态</view>
  260. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  261. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].status"
  262. :localdata="range"></uni-data-checkbox>
  263. </view>
  264. <view class="remark uni-row">
  265. <view class="label">备注</view>
  266. <textarea disabled="true"
  267. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'patrolInspection')].remark" />
  268. </view>
  269. </view>
  270. </view>
  271. <!-- 仪器室 -->
  272. <view v-if="isActived.label == '仪器室' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  273. <view class="carrier-info uni-column">
  274. <view class="carrier-code uni-row">
  275. <text>箱号</text>
  276. <text
  277. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].carrierCode}}</text>
  278. <text style="margin-left: 150px;color: aquamarine">仪器室</text>
  279. </view>
  280. <view class="info-row uni-row">
  281. <view class="label">图号</view>
  282. <view class="value">
  283. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].drawingNumber }}
  284. </view>
  285. </view>
  286. <view class="info-row uni-row">
  287. <view class="label">批次号</view>
  288. <view class="value">
  289. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].lotCode }}
  290. </view>
  291. </view>
  292. <view class="info-row uni-row">
  293. <view class="label">工艺版本</view>
  294. <view class="value">
  295. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].technologyVersion }}
  296. </view>
  297. </view>
  298. <view class="info-row uni-row">
  299. <view class="label">产品描述</view>
  300. <view class="value">
  301. {{inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')]. productDescription }}
  302. </view>
  303. </view>
  304. <view class="info-row uni-row">
  305. <view class="label">当前工序</view>
  306. <view class="value">
  307. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].processAlias }}
  308. </view>
  309. </view>
  310. <view class="info-row uni-row">
  311. <view class="label">操作者</view>
  312. <view class="value">
  313. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].nickName }}
  314. </view>
  315. </view>
  316. <view class="info-row uni-row">
  317. <view class="label">设备</view>
  318. <view class="value">
  319. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].equipmentDetailCode }}
  320. </view>
  321. </view>
  322. <view class="info-row uni-row">
  323. <view class="label">检查载具</view>
  324. <view class="value">
  325. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].inspectionCarrierCode }}
  326. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  327. </view>
  328. </view>
  329. <view class="info-row uni-row">
  330. <view class="drawing-btn"
  331. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')])">
  332. 图纸信息</view>
  333. </view>
  334. </view>
  335. <!-- 废品信息 -->
  336. <view class="title unfit-title uni-row">
  337. <text>检查信息</text>
  338. </view>
  339. <view class="unfit-container">
  340. <view class="unfit-item-container uni-column"
  341. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].processInspectionDetails"
  342. :key="index">
  343. <view class="resu uni-row">
  344. <view class="label">检查标准</view>
  345. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  346. </view>
  347. <view class="resu uni-row">
  348. <view class="label">检查结果</view>
  349. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  350. <view v-else class="value">{{ item.checkResult }}</view>
  351. </view>
  352. <view class="resu uni-row">
  353. <view class="label">超差范围</view>
  354. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  355. <view v-else class="value">{{ item.exceedLimits }}</view>
  356. </view>
  357. <view class="resu uni-row">
  358. <view :class="!editable() ? 'label' : ''">检查量</view>
  359. <input v-if="editable()" :disabled="true" class="number" type="number"
  360. v-model="item.examiningNum" />
  361. <view v-else class="number value">{{ item.examiningNum }}</view>
  362. <view :class="!editable() ? 'label' : ''">不良品量</view>
  363. <input v-if="editable()" :disabled="true" class="number" type="number"
  364. v-model="item.disqualificationNum" />
  365. <view v-else class="value">{{ item.disqualificationNum }}</view>
  366. </view>
  367. </view>
  368. </view>
  369. <!-- 咨询部分 -->
  370. <view class="title unfit-title uni-row">
  371. <text>咨询</text>
  372. </view>
  373. <view class="consultation-container uni-column">
  374. <view class="consultation-item-container"
  375. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].dayworkItemConsults"
  376. :key="index">
  377. <view class="question uni-column">
  378. <view class="label uni-row">
  379. <text>问题描述</text>
  380. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  381. {{ selectText(item) }}</text>
  382. </view>
  383. <view class="content">{{ item.content }}</view>
  384. </view>
  385. </view>
  386. </view>
  387. <!-- 报工部分 -->
  388. <view class="daywork-container">
  389. <view class="result uni-row">
  390. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">首件检状态</view>
  391. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  392. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].status"
  393. :localdata="range"></uni-data-checkbox>
  394. </view>
  395. <view class="remark uni-row">
  396. <view class="label">备注</view>
  397. <textarea disabled="true"
  398. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'instrumentRoomInspection')].remark" />
  399. </view>
  400. </view>
  401. </view>
  402. <!-- 外协检 -->
  403. <view v-if="isActived.label == '外协检' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  404. <view class="carrier-info uni-column">
  405. <view class="carrier-code uni-row">
  406. <text>箱号</text>
  407. <text
  408. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].carrierCode}}</text>
  409. <text style="margin-left: 150px;color: aquamarine">外协检</text>
  410. </view>
  411. <view class="info-row uni-row">
  412. <view class="label">图号</view>
  413. <view class="value">
  414. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].drawingNumber }}
  415. </view>
  416. </view>
  417. <view class="info-row uni-row">
  418. <view class="label">批次号</view>
  419. <view class="value">
  420. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].lotCode }}
  421. </view>
  422. </view>
  423. <view class="info-row uni-row">
  424. <view class="label">工艺版本</view>
  425. <view class="value">
  426. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].technologyVersion }}
  427. </view>
  428. </view>
  429. <view class="info-row uni-row">
  430. <view class="label">产品描述</view>
  431. <view class="value">
  432. {{inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')]. productDescription }}
  433. </view>
  434. </view>
  435. <view class="info-row uni-row">
  436. <view class="label">当前工序</view>
  437. <view class="value">
  438. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].processAlias }}
  439. </view>
  440. </view>
  441. <view class="info-row uni-row">
  442. <view class="label">操作者</view>
  443. <view class="value">
  444. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].nickName }}
  445. </view>
  446. </view>
  447. <view class="info-row uni-row">
  448. <view class="label">设备</view>
  449. <view class="value">
  450. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].equipmentDetailCode }}
  451. </view>
  452. </view>
  453. <view class="info-row uni-row">
  454. <view class="label">检查载具</view>
  455. <view class="value">
  456. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].inspectionCarrierCode }}
  457. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  458. </view>
  459. </view>
  460. <view class="info-row uni-row">
  461. <view class="drawing-btn"
  462. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')])">
  463. 图纸信息</view>
  464. </view>
  465. </view>
  466. <!-- 废品信息 -->
  467. <view class="title unfit-title uni-row">
  468. <text>检查信息</text>
  469. </view>
  470. <view class="unfit-container">
  471. <view class="unfit-item-container uni-column"
  472. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].processInspectionDetails"
  473. :key="index">
  474. <view class="resu uni-row">
  475. <view class="label">检查标准</view>
  476. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  477. </view>
  478. <view class="resu uni-row">
  479. <view class="label">检查结果</view>
  480. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  481. <view v-else class="value">{{ item.checkResult }}</view>
  482. </view>
  483. <view class="resu uni-row">
  484. <view class="label">超差范围</view>
  485. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  486. <view v-else class="value">{{ item.exceedLimits }}</view>
  487. </view>
  488. <view class="resu uni-row">
  489. <view :class="!editable() ? 'label' : ''">检查量</view>
  490. <input v-if="editable()" :disabled="true" class="number" type="number"
  491. v-model="item.examiningNum" />
  492. <view v-else class="number value">{{ item.examiningNum }}</view>
  493. <view :class="!editable() ? 'label' : ''">不良品量</view>
  494. <input v-if="editable()" :disabled="true" class="number" type="number"
  495. v-model="item.disqualificationNum" />
  496. <view v-else class="value">{{ item.disqualificationNum }}</view>
  497. </view>
  498. </view>
  499. </view>
  500. <!-- 咨询部分 -->
  501. <view class="title unfit-title uni-row">
  502. <text>咨询</text>
  503. </view>
  504. <view class="consultation-container uni-column">
  505. <view class="consultation-item-container"
  506. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].dayworkItemConsults"
  507. :key="index">
  508. <view class="question uni-column">
  509. <view class="label uni-row">
  510. <text>问题描述</text>
  511. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  512. {{ selectText(item) }}</text>
  513. </view>
  514. <view class="content">{{ item.content }}</view>
  515. </view>
  516. </view>
  517. </view>
  518. <!-- 报工部分 -->
  519. <view class="daywork-container">
  520. <view class="result uni-row">
  521. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">外协检状态</view>
  522. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  523. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].status"
  524. :localdata="range"></uni-data-checkbox>
  525. </view>
  526. <view class="remark uni-row">
  527. <view class="label">备注</view>
  528. <textarea disabled="true"
  529. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'outsourcedInspector')].remark" />
  530. </view>
  531. </view>
  532. </view>
  533. <!-- 出厂检 -->
  534. <view v-if="isActived.label == '出厂检' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  535. <view class="carrier-info uni-column">
  536. <view class="carrier-code uni-row">
  537. <text>箱号</text>
  538. <text
  539. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].carrierCode}}</text>
  540. <text style="margin-left: 150px;color: aquamarine">出厂检</text>
  541. </view>
  542. <view class="info-row uni-row">
  543. <view class="label">图号</view>
  544. <view class="value">
  545. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].drawingNumber }}
  546. </view>
  547. </view>
  548. <view class="info-row uni-row">
  549. <view class="label">批次号</view>
  550. <view class="value">
  551. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].lotCode }}
  552. </view>
  553. </view>
  554. <view class="info-row uni-row">
  555. <view class="label">工艺版本</view>
  556. <view class="value">
  557. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].technologyVersion }}
  558. </view>
  559. </view>
  560. <view class="info-row uni-row">
  561. <view class="label">产品描述</view>
  562. <view class="value">
  563. {{inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')]. productDescription }}
  564. </view>
  565. </view>
  566. <view class="info-row uni-row">
  567. <view class="label">当前工序</view>
  568. <view class="value">
  569. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].processAlias }}
  570. </view>
  571. </view>
  572. <view class="info-row uni-row">
  573. <view class="label">操作者</view>
  574. <view class="value">
  575. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].nickName }}
  576. </view>
  577. </view>
  578. <view class="info-row uni-row">
  579. <view class="label">设备</view>
  580. <view class="value">
  581. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].equipmentDetailCode }}
  582. </view>
  583. </view>
  584. <view class="info-row uni-row">
  585. <view class="label">检查载具</view>
  586. <view class="value">
  587. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].inspectionCarrierCode }}
  588. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  589. </view>
  590. </view>
  591. <view class="info-row uni-row">
  592. <view class="drawing-btn"
  593. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')])">
  594. 图纸信息</view>
  595. </view>
  596. </view>
  597. <!-- 废品信息 -->
  598. <view class="title unfit-title uni-row">
  599. <text>检查信息</text>
  600. </view>
  601. <view class="unfit-container">
  602. <view class="unfit-item-container uni-column"
  603. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].processInspectionDetails"
  604. :key="index">
  605. <view class="resu uni-row">
  606. <view class="label">检查标准</view>
  607. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  608. </view>
  609. <view class="resu uni-row">
  610. <view class="label">检查结果</view>
  611. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  612. <view v-else class="value">{{ item.checkResult }}</view>
  613. </view>
  614. <view class="resu uni-row">
  615. <view class="label">超差范围</view>
  616. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  617. <view v-else class="value">{{ item.exceedLimits }}</view>
  618. </view>
  619. <view class="resu uni-row">
  620. <view :class="!editable() ? 'label' : ''">检查量</view>
  621. <input v-if="editable()" :disabled="true" class="number" type="number"
  622. v-model="item.examiningNum" />
  623. <view v-else class="number value">{{ item.examiningNum }}</view>
  624. <view :class="!editable() ? 'label' : ''">不良品量</view>
  625. <input v-if="editable()" :disabled="true" class="number" type="number"
  626. v-model="item.disqualificationNum" />
  627. <view v-else class="value">{{ item.disqualificationNum }}</view>
  628. </view>
  629. </view>
  630. </view>
  631. <!-- 咨询部分 -->
  632. <view class="title unfit-title uni-row">
  633. <text>咨询</text>
  634. </view>
  635. <view class="consultation-container uni-column">
  636. <view class="consultation-item-container"
  637. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].dayworkItemConsults"
  638. :key="index">
  639. <view class="question uni-column">
  640. <view class="label uni-row">
  641. <text>问题描述</text>
  642. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  643. {{ selectText(item) }}</text>
  644. </view>
  645. <view class="content">{{ item.content }}</view>
  646. </view>
  647. </view>
  648. </view>
  649. <!-- 报工部分 -->
  650. <view class="daywork-container">
  651. <view class="result uni-row">
  652. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">出厂检状态</view>
  653. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  654. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].status"
  655. :localdata="range"></uni-data-checkbox>
  656. </view>
  657. <view class="remark uni-row">
  658. <view class="label">备注</view>
  659. <textarea disabled="true"
  660. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'factoryInspection')].remark" />
  661. </view>
  662. </view>
  663. </view>
  664. <!-- 首件检 -->
  665. <view v-if="isActived.label == '首件检' " style="margin-bottom: 130rpx;margin-top: 16rpx;">
  666. <view class="carrier-info uni-column">
  667. <view class="carrier-code uni-row">
  668. <text>箱号</text>
  669. <text
  670. style="margin-left: 24rpx;">{{inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].carrierCode}}</text>
  671. <text style="margin-left: 150px;color: aquamarine">首件检</text>
  672. </view>
  673. <view class="info-row uni-row">
  674. <view class="label">图号</view>
  675. <view class="value">
  676. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].drawingNumber }}
  677. </view>
  678. </view>
  679. <view class="info-row uni-row">
  680. <view class="label">批次号</view>
  681. <view class="value">
  682. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].lotCode }}
  683. </view>
  684. </view>
  685. <view class="info-row uni-row">
  686. <view class="label">工艺版本</view>
  687. <view class="value">
  688. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].technologyVersion }}
  689. </view>
  690. </view>
  691. <view class="info-row uni-row">
  692. <view class="label">产品描述</view>
  693. <view class="value">
  694. {{inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')]. productDescription }}
  695. </view>
  696. </view>
  697. <view class="info-row uni-row">
  698. <view class="label">当前工序</view>
  699. <view class="value">
  700. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].processAlias }}
  701. </view>
  702. </view>
  703. <view class="info-row uni-row">
  704. <view class="label">操作者</view>
  705. <view class="value">
  706. {{inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].nickName }}
  707. </view>
  708. </view>
  709. <view class="info-row uni-row">
  710. <view class="label">设备</view>
  711. <view class="value">
  712. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].equipmentDetailCode }}
  713. </view>
  714. </view>
  715. <view class="info-row uni-row">
  716. <view class="label">检查载具</view>
  717. <view class="value">
  718. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].inspectionCarrierCode }}
  719. {{ inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].isInspectionCarrierChanged == 1 ? '(已解绑)' : ''}}
  720. </view>
  721. </view>
  722. <view class="info-row uni-row">
  723. <view class="drawing-btn"
  724. @click="handleDrawingMenu(inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')])">
  725. 图纸信息</view>
  726. </view>
  727. </view>
  728. <!-- 废品信息 -->
  729. <view class="title unfit-title uni-row">
  730. <text>检查信息</text>
  731. </view>
  732. <view class="unfit-container">
  733. <view class="unfit-item-container uni-column"
  734. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].processInspectionDetails"
  735. :key="index">
  736. <view class="resu uni-row">
  737. <view class="label">检查标准</view>
  738. <view class="value" style="margin-left:16rpx;width: 400rpx;">{{ item.checkStandard }}</view>
  739. </view>
  740. <view class="resu uni-row">
  741. <view class="label">检查结果</view>
  742. <input v-if="editable()" :disabled="true" v-model="item.checkResult" maxlength="50" />
  743. <view v-else class="value">{{ item.checkResult }}</view>
  744. </view>
  745. <view class="resu uni-row">
  746. <view class="label">超差范围</view>
  747. <input v-if="editable()" :disabled="true" v-model="item.exceedLimits" maxlength="50" />
  748. <view v-else class="value">{{ item.exceedLimits }}</view>
  749. </view>
  750. <view class="resu uni-row">
  751. <view :class="!editable() ? 'label' : ''">检查量</view>
  752. <input v-if="editable()" :disabled="true" class="number" type="number"
  753. v-model="item.examiningNum" />
  754. <view v-else class="number value">{{ item.examiningNum }}</view>
  755. <view :class="!editable() ? 'label' : ''">不良品量</view>
  756. <input v-if="editable()" :disabled="true" class="number" type="number"
  757. v-model="item.disqualificationNum" />
  758. <view v-else class="value">{{ item.disqualificationNum }}</view>
  759. </view>
  760. </view>
  761. </view>
  762. <!-- 咨询部分 -->
  763. <view class="title unfit-title uni-row">
  764. <text>咨询</text>
  765. </view>
  766. <view class="consultation-container uni-column">
  767. <view class="consultation-item-container"
  768. v-for="(item, index) in inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].dayworkItemConsults"
  769. :key="index">
  770. <view class="question uni-column">
  771. <view class="label uni-row">
  772. <text>问题描述</text>
  773. <text :style="selectType(item)">{{item.consultDepartment == 0?'技术':'品管'}}
  774. {{ selectText(item) }}</text>
  775. </view>
  776. <view class="content">{{ item.content }}</view>
  777. </view>
  778. </view>
  779. </view>
  780. <!-- 报工部分 -->
  781. <view class="daywork-container">
  782. <view class="result uni-row">
  783. <view class="label" style="margin-top: 20rpx; margin-right: 10rpx;">首件检状态</view>
  784. <uni-data-checkbox disabled="true" style="margin-top: 20rpx;"
  785. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].status"
  786. :localdata="range"></uni-data-checkbox>
  787. </view>
  788. <view class="remark uni-row">
  789. <view class="label">备注</view>
  790. <textarea disabled="true"
  791. v-model="inspectionList[inspectionList.findIndex(item =>item.type === 'firstArticleInspection')].remark" />
  792. </view>
  793. </view>
  794. </view>
  795. <view class="bottom uni-row">
  796. <button class="start-batch-btn" style="margin-right: 10rpx;" type="primary"
  797. @click="handleConfirm">确定领取</button>
  798. </view>
  799. </view>
  800. </template>
  801. <script setup>
  802. import {
  803. ref,
  804. onMounted,
  805. getCurrentInstance
  806. } from 'vue'
  807. import {
  808. onLoad,
  809. onReady,
  810. onUnload,
  811. onShow
  812. } from '@dcloudio/uni-app'
  813. import {
  814. store
  815. } from '@/store/index.js'
  816. import {
  817. unbindInspectionCarrier,
  818. getInspectionInfoByInspectionCarrierCode
  819. } from '@/api/business/processInspection.js'
  820. const lot = ref({})
  821. const isEventTriggered = ref(false); // 创建一个标志位
  822. const unfitInfos = ref([]) //废品信息
  823. const consultations = ref([]) //咨询信息
  824. // 创建一个引用来存储最后一次请求的时间戳
  825. const lastRequestTimestamp = ref(0);
  826. const processInspecion = ref({
  827. remark: "",
  828. rejectNum: 0,
  829. examiningNum: 0,
  830. status: 0,
  831. })
  832. const inspectionList = ref([])
  833. const processInspectionTypeList = ref([])
  834. const isActived = ref(null)
  835. const initStatus = ref(0)
  836. const carrierCode = ref(null)
  837. const editable = () => {
  838. return true
  839. }
  840. const consul = [{
  841. value: 0,
  842. text: "待确认",
  843. type: "color: #fcab53"
  844. }, {
  845. value: 2,
  846. text: "合格",
  847. type: "color: #55ff7f"
  848. }, {
  849. value: 1,
  850. text: "不合格",
  851. type: "color: #ff0c2c"
  852. }]
  853. const range = [{
  854. value: 0,
  855. text: "待确认",
  856. type: "color: #fcab53"
  857. }, {
  858. value: 1,
  859. text: "合格",
  860. type: "color: #55ff7f"
  861. }, {
  862. value: 2,
  863. text: "不合格",
  864. type: "color: #ff0c2c"
  865. }]
  866. /***************************** 页面生命周期函数 *****************************/
  867. function init() {
  868. const instance = getCurrentInstance().proxy
  869. const eventChannel = instance.getOpenerEventChannel();
  870. eventChannel.on('inspecionCarrierCode', function(data) {
  871. if (data && data.carrierCode) {
  872. carrierCode.value = data.carrierCode;
  873. getInspectionInfoByInspectionCarrierCode({
  874. carrierCode: carrierCode.value
  875. }).then(res => {
  876. processInspectionTypeList.value = res.data.map(v => {
  877. if (v.type === "deliveryInspection") {
  878. return {
  879. id: v.id,
  880. text: v.type,
  881. label: '交检'
  882. };
  883. } else if (v.type === "firstArticleInspection") {
  884. return {
  885. id: v.id,
  886. text: v.type,
  887. label: '首件检'
  888. };
  889. } else if (v.type === "patrolInspection") {
  890. return {
  891. id: v.id,
  892. text: v.type,
  893. label: '巡检'
  894. };
  895. } else if (v.type === "outsourcedInspector") {
  896. return {
  897. id: v.id,
  898. text: v.type,
  899. label: '外协检查'
  900. };
  901. } else if (v.type === "factoryInspection") {
  902. return {
  903. id: v.id,
  904. text: v.type,
  905. label: '出厂检'
  906. };
  907. } else {
  908. return {
  909. id: v.id,
  910. text: v.type,
  911. label: '仪器室'
  912. };
  913. }
  914. });
  915. inspectionList.value = res.data
  916. isActived.value = processInspectionTypeList.value[0]
  917. console.log(processInspectionTypeList.value)
  918. })
  919. }
  920. })
  921. }
  922. onShow(() => {
  923. init()
  924. })
  925. /***************************** 定义了一些方法 *****************************/
  926. //咨询文本
  927. function selectText(item) {
  928. for (var i = 0; i < consul.length; i++) {
  929. if (item.status == consul[i].value) {
  930. return consul[i].text
  931. }
  932. }
  933. }
  934. //确定领取
  935. function handleConfirm() {
  936. unbindInspectionCarrier({carrierCode:carrierCode.value}).then(res => {
  937. if(res.code == 200) {
  938. let pages = getCurrentPages();
  939. let index = 0
  940. for (let i = 0; i < pages.length; i++) {
  941. if (pages[i].$page.fullPath == "/pages/dashboard/index") {
  942. index = pages.length - i - 1;
  943. }
  944. }
  945. console.log("index", index);
  946. uni.navigateBack({
  947. delta: index
  948. });
  949. }else{
  950. uni.showToast({
  951. icon: 'none',
  952. title: res.msg,
  953. duration: 2000
  954. })
  955. }
  956. })
  957. }
  958. //图纸
  959. function handleDrawingMenu(data) {
  960. // 对 technologicalProcessDetailId 进行URL编码
  961. var encodedId = encodeURIComponent(data.productId);
  962. var enTechnologicalProcessId = encodeURIComponent(data.technologicalProcessId);
  963. var enprocessCode = encodeURIComponent(data.processCode);
  964. var encodeCode = encodeURIComponent(data.lotCode);
  965. var enProcessAlias = encodeURIComponent(data.processAlias);
  966. // 构建查询参数字符串
  967. var queryParam =
  968. `param1=${encodedId}&param2=${encodeCode}&param3=${enprocessCode}&param4=${enTechnologicalProcessId}&param5=${enProcessAlias}`;
  969. // 使用模板字符串构建完整的URL
  970. var navigateUrl = `/pages/drawingMenu/index?${queryParam}`;
  971. // 导航到指定页面
  972. uni.navigateTo({
  973. url: navigateUrl
  974. });
  975. }
  976. function selectedStatus(item) {
  977. isActived.value = item
  978. }
  979. //咨询样式
  980. function selectType(item) {
  981. for (var i = 0; i < consul.length; i++) {
  982. if (item.status == consul[i].value) {
  983. return consul[i].type
  984. }
  985. }
  986. }
  987. </script>
  988. <style lang="scss">
  989. .page-container {
  990. // height: 100%;
  991. background-color: #ececec;
  992. font-size: 28rpx;
  993. >.title {
  994. font-weight: 700;
  995. margin: 24rpx 16rpx;
  996. }
  997. }
  998. // .tab-container {
  999. // display: flex;
  1000. // flex-direction: row;
  1001. // height: 32px;
  1002. // background-color: #ffffff;
  1003. // margin-bottom: 16rpx;
  1004. // .tab-item {
  1005. // display: flex;
  1006. // flex-direction: row;
  1007. // flex: 1;
  1008. // font-size: 14px;
  1009. // color: #666;
  1010. // align-items: center;
  1011. // justify-content: center;
  1012. // }
  1013. // }
  1014. .tab-container {
  1015. position: fixed; /* 固定定位 */
  1016. top: 0; /* 距离顶部0,即页面顶部 */
  1017. left: 0; /* 距离左侧0,即页面左侧 */
  1018. right: 0; /* 宽度充满整个页面宽度 */
  1019. display: flex;
  1020. flex-direction: row;
  1021. height: 32px;
  1022. background-color: #ffffff;
  1023. z-index: 999; /* 确保.tab-container在页面最上层 */
  1024. padding: 8rpx 0; /* 根据需要添加一些内边距 */
  1025. box-sizing: border-box; /* 边框计算在宽度内 */
  1026. }
  1027. .tab-item {
  1028. display: flex;
  1029. flex-direction: row;
  1030. flex: 1;
  1031. font-size: 14px;
  1032. color: #666;
  1033. align-items: center;
  1034. justify-content: center;
  1035. }
  1036. .carrier-info {
  1037. margin: 32rpx 16rpx 0 16rpx;
  1038. padding: 24rpx;
  1039. background-color: #ffffff;
  1040. border-radius: 8rpx;
  1041. .carrier-code {
  1042. font-size: 32rpx;
  1043. font-weight: 700;
  1044. }
  1045. .info-row {
  1046. margin-top: 16rpx;
  1047. color: #767676;
  1048. .label {
  1049. width: 160rpx;
  1050. }
  1051. .drawing-btn {
  1052. padding: 12rpx 32rpx;
  1053. background-color: #0055ff;
  1054. color: #ffffff;
  1055. border-radius: 12rpx;
  1056. margin-left: auto;
  1057. font-size: 28rpx;
  1058. }
  1059. .value {
  1060. flex: 1;
  1061. textarea {
  1062. flex: 1;
  1063. border: 1px solid #888888;
  1064. box-sizing: border-box;
  1065. padding: 16rpx;
  1066. }
  1067. }
  1068. }
  1069. }
  1070. .unfit-title {
  1071. margin-bottom: 24rpx;
  1072. justify-content: space-between;
  1073. align-items: center;
  1074. text {
  1075. font-size: 28rpx;
  1076. font-weight: 700;
  1077. }
  1078. .add-btn {
  1079. padding: 12rpx 32rpx;
  1080. background-color: #a4adb3;
  1081. color: #ffffff;
  1082. border-radius: 12rpx;
  1083. font-size: 24rpx;
  1084. }
  1085. }
  1086. .unfit-container {
  1087. padding: 24rpx;
  1088. margin: 0 16rpx;
  1089. background-color: #ffffff;
  1090. border-radius: 12rpx;
  1091. .unfit-item-container {
  1092. position: relative;
  1093. >* {
  1094. margin-bottom: 24rpx;
  1095. }
  1096. .title {
  1097. font-weight: 700;
  1098. justify-content: space-between;
  1099. align-items: center;
  1100. image {
  1101. width: 40rpx;
  1102. height: 40rpx;
  1103. }
  1104. }
  1105. .standard {}
  1106. .resu {
  1107. width: 100%;
  1108. align-items: center;
  1109. input {
  1110. margin-left: 20rpx;
  1111. width: 200rpx;
  1112. height: 56rpx;
  1113. flex: 1;
  1114. border: 1px solid #9f9f9f;
  1115. font-size: 28rpx;
  1116. }
  1117. }
  1118. .result {
  1119. align-items: center;
  1120. border-bottom: 1px solid #9f9f9f;
  1121. padding-bottom: 32rpx;
  1122. .label {
  1123. flex: 1;
  1124. }
  1125. input {
  1126. width: 280rpx;
  1127. height: 56rpx;
  1128. border: 1px solid #9f9f9f;
  1129. font-size: 28rpx;
  1130. &.number {
  1131. width: 104rpx;
  1132. text-align: center;
  1133. }
  1134. }
  1135. }
  1136. }
  1137. .unfit-item-container:last-child {
  1138. .result {
  1139. border-bottom: none;
  1140. padding-bottom: 0;
  1141. }
  1142. }
  1143. }
  1144. .consultation-container {
  1145. margin: 0 16rpx;
  1146. padding: 24rpx;
  1147. background-color: #ffffff;
  1148. border-radius: 8rpx;
  1149. .consultation-item-container {
  1150. margin-bottom: 24rpx;
  1151. border-bottom: 2px solid #888888;
  1152. padding-bottom: 24rpx;
  1153. }
  1154. .consultation-item-container:last-child {
  1155. margin-bottom: 0;
  1156. border-bottom: 0;
  1157. padding-bottom: 0;
  1158. }
  1159. .question,
  1160. .answer {
  1161. .label {
  1162. justify-content: space-between;
  1163. margin-bottom: 16rpx;
  1164. font-weight: 700;
  1165. }
  1166. .content {
  1167. line-height: 40rpx;
  1168. }
  1169. }
  1170. .answer {
  1171. margin-top: 24rpx;
  1172. }
  1173. }
  1174. .daywork-container {
  1175. margin-top: 24rpx;
  1176. padding: 24rpx;
  1177. background-color: #ffffff;
  1178. border: 1px solid #bcbcbc;
  1179. .result {
  1180. align-items: center;
  1181. .label {
  1182. width: 112rpx;
  1183. }
  1184. input {
  1185. flex: 1;
  1186. height: 56rpx;
  1187. border: 1px solid #9f9f9f;
  1188. font-size: 28rpx;
  1189. text-align: center;
  1190. }
  1191. }
  1192. .remark {
  1193. margin-top: 24rpx;
  1194. .label {
  1195. width: 112rpx;
  1196. }
  1197. textarea {
  1198. flex: 1;
  1199. border: 1px solid #9f9f9f;
  1200. height: 168rpx;
  1201. }
  1202. }
  1203. .btns-container {
  1204. margin-top: 24rpx;
  1205. .finished-btn {
  1206. display: flex;
  1207. flex: 1;
  1208. height: 80rpx;
  1209. background-color: #fc6565;
  1210. color: #ffffff;
  1211. text-align: center;
  1212. justify-content: center;
  1213. align-items: center;
  1214. border-radius: 8rpx;
  1215. }
  1216. .question-btn {
  1217. width: 80rpx;
  1218. align-items: flex-end;
  1219. image {
  1220. width: 48rpx;
  1221. height: 48rpx;
  1222. }
  1223. text {
  1224. font-size: 24rpx;
  1225. }
  1226. }
  1227. }
  1228. }
  1229. .active {
  1230. color: rgba(25, 137, 250, 1);
  1231. border-bottom: solid 1rpx #0055ff;
  1232. font-weight: 700;
  1233. }
  1234. .bottom {
  1235. height: 10%;
  1236. position: fixed;
  1237. right: 0;
  1238. bottom: 0;
  1239. left: 0;
  1240. height: 100rpx;
  1241. border-top: 1px solid #999999;
  1242. padding: 16rpx 32rpx;
  1243. align-items: center;
  1244. background-color: #fff;
  1245. justify-content: space-evenly;
  1246. .start-batch-btn {
  1247. flex: 1;
  1248. height: 80rpx;
  1249. line-height: 80rpx;
  1250. border-radius: 8rpx;
  1251. color: #FFFFFF;
  1252. font-size: 28rpx;
  1253. }
  1254. .view-end-btn {
  1255. flex: 1;
  1256. height: 80rpx;
  1257. line-height: 80rpx;
  1258. border-radius: 8rpx;
  1259. color: #FFFFFF;
  1260. font-size: 28rpx;
  1261. }
  1262. }
  1263. </style>