hisvistdeils.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794
  1. <template>
  2. <div class="hisvistdeils">
  3. <!-- 顶部条-->
  4. <van-nav-bar class="navBar" :title="title" left-arrow @click-left="onClickLeft" />
  5. <!--right-text="保存"-->
  6. <!--@click-right="onSubmit"-->
  7. <!-- 主体内容-->
  8. <div class="lineGrey"></div>
  9. <div class="deviceCode" v-if="inspectionType">
  10. <div class="vertical"></div>
  11. <div class="codeData">
  12. <p>设备编号:{{ deviceCode }}</p>
  13. <p>投放编号:{{ putInCode }}</p>
  14. <p v-if="inspectionType == 'place'">资产编号:{{ equipmentCode }}</p>
  15. </div>
  16. </div>
  17. <div class="lineGrey" v-if="inspectionType"></div>
  18. <div
  19. class="container containert"
  20. style="width: 100%; margin: 0 auto; padding: 10px 0"
  21. v-if="taskType == 3">
  22. <el-table
  23. :data="tableData1"
  24. border
  25. style="width: 100%"
  26. class="table-headermd"
  27. :span-method="objectSpanMethod">
  28. <el-table-column prop="collectionName" label="物料类型" width="180" align="center">
  29. <template slot-scope="scope">
  30. <span class="tipTitle" @click="tipTitle(scope.row.signDictype)">{{
  31. scope.row.signDictype
  32. }}</span>
  33. </template>
  34. </el-table-column>
  35. <el-table-column prop="collectionName" label="物料名称" width="180" align="center">
  36. <template slot-scope="scope">
  37. <span class="tipTitle" @click="tipTitle(scope.row.collectionName)">{{
  38. scope.row.collectionName
  39. }}</span>
  40. </template>
  41. </el-table-column>
  42. <el-table-column prop="inventoryNum" width="180" label="库存" align="center" />
  43. <el-table-column prop="yfNum" key="yfNum" width="200" v-if="yfNumFlage" label="应发本数" />
  44. <el-table-column prop="address" align="center">
  45. <template slot="header">
  46. <span>发放量</span>
  47. </template>
  48. <template slot-scope="scope">
  49. <p class="f-right">{{ scope.row.value }}</p>
  50. </template>
  51. </el-table-column>
  52. </el-table>
  53. <div class="wuliaoPhotoImg" style="padding-top: 10px; width: 94% !important; margin: 0 auto">
  54. <deleteUploadImg :imgs="wuliaoPhotoImg"></deleteUploadImg>
  55. </div>
  56. </div>
  57. <div
  58. class="container containert"
  59. style="width: 100%; margin: 0 auto; padding: 10px 0"
  60. v-if="taskType == 2">
  61. <p v-if="checkShow" style="padding: 0 10px; font-size: 14px">全部不经营</p>
  62. <el-table
  63. :data="tableData1"
  64. border
  65. style="width: 100%"
  66. class="table-headermd"
  67. v-if="!checkShow">
  68. <el-table-column prop="collectionName" label="产品名称" width="180">
  69. <template slot-scope="scope">
  70. <span class="tipTitle" @click="tipTitle(scope.row.collectionName)">{{
  71. scope.row.collectionName
  72. }}</span>
  73. </template>
  74. </el-table-column>
  75. <el-table-column prop="name" width="180">
  76. <template slot="header">
  77. <span>进货原价</span>
  78. </template>
  79. <template slot-scope="scope">
  80. <p class="f-right">{{ scope.row.xdjhyj }}</p>
  81. </template>
  82. </el-table-column>
  83. <el-table-column prop="address">
  84. <template slot="header">
  85. <span>促后净价</span>
  86. </template>
  87. <template slot-scope="scope">
  88. <p class="f-right">{{ scope.row.xdjhchjj }}</p>
  89. </template>
  90. </el-table-column>
  91. <el-table-column prop="address">
  92. <template slot="header">
  93. <span>油工拿货价</span>
  94. </template>
  95. <template slot-scope="scope">
  96. <p class="f-right">{{ scope.row.ygnhj }}</p>
  97. </template>
  98. </el-table-column>
  99. </el-table>
  100. </div>
  101. <div
  102. class="container containert"
  103. style="width: 94%; margin: 0 auto; border-radius: 6px"
  104. v-if="taskType == 1 || taskType == 4">
  105. <van-form ref="tabstoreVal">
  106. <div v-for="(item, index) in collectionItemList" :key="index">
  107. <div v-if="item.answerType == 'tel_send_code'" class="formLabel z-cell z-cells">
  108. <van-cell>
  109. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  110. </van-cell>
  111. <div class="selesetText">
  112. <p class="mg0">{{ item.answerValue }}</p>
  113. </div>
  114. </div>
  115. <div v-if="item.answerType == 'nyr'" class="formLabel z-cell z-cells">
  116. <van-cell>
  117. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  118. </van-cell>
  119. <div class="selesetText">
  120. <p class="mg0">{{ item.answerValue }}</p>
  121. </div>
  122. </div>
  123. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'sz'">
  124. <van-cell>
  125. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  126. </van-cell>
  127. <p class="mg0">{{ item.answerValue }}</p>
  128. <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
  129. <van-field
  130. class="mobile-input"
  131. v-model="item.collectionOptionList[0].collectionOption"
  132. autosize
  133. readonly
  134. type="textarea" />
  135. </p>
  136. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  137. </div>
  138. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'zp'">
  139. <van-cell>
  140. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  141. </van-cell>
  142. <!--<p style="color: #444;-->
  143. <!--font-size: 12px;-->
  144. <!--margin: 0;-->
  145. <!--padding:10px 0;text-align: right">{{item.collectionOptionList[0].collectionOption}}</p>-->
  146. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  147. </div>
  148. <div
  149. class="formLabel z-cell z-cells"
  150. v-if="item.answerType == 'wb' || item.answerType == 'dhwb'">
  151. <van-cell>
  152. <template #title>
  153. {{ index + 1 }}.{{ item.collectionName }}
  154. <span
  155. style="color: #00afff; position: absolute; top: 8px; right: 0px"
  156. v-if="item.showHistory == 1"
  157. @click="getCollectionShowHistory(item)"
  158. >回显历史</span
  159. >
  160. </template>
  161. </van-cell>
  162. <div class="selesetText">
  163. <p class="mg0">{{ item.answerValue }}</p>
  164. </div>
  165. <p style="color: #444; font-size: 12px; margin: 0; text-align: right">
  166. <van-field
  167. class="mobile-input"
  168. v-model="item.collectionOptionList[0].collectionOption"
  169. autosize
  170. readonly
  171. type="textarea" />
  172. </p>
  173. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  174. </div>
  175. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'tel'">
  176. <van-cell>
  177. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  178. </van-cell>
  179. <div class="selesetText">
  180. <p class="mg0">{{ item.answerValue }}</p>
  181. </div>
  182. <p style="color: #444; font-size: 12px; margin: 0; text-align: right">
  183. <van-field
  184. class="mobile-input"
  185. v-model="item.collectionOptionList[0].collectionOption"
  186. autosize
  187. readonly
  188. type="textarea" />
  189. </p>
  190. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  191. </div>
  192. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'date'">
  193. <van-cell>
  194. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  195. </van-cell>
  196. <div class="selesetText">
  197. <p class="mg0">{{ item.answerValue }}</p>
  198. </div>
  199. <p style="color: #444; font-size: 12px; margin: 0; text-align: right">
  200. <van-field
  201. class="mobile-input"
  202. v-model="item.collectionOptionList[0].collectionOption"
  203. autosize
  204. readonly
  205. type="textarea" />
  206. </p>
  207. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  208. </div>
  209. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'sm'">
  210. <van-cell>
  211. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  212. </van-cell>
  213. <div class="selesetText">
  214. <div style="font-size: 14px" v-if="item.collectionOptionList[0].answerValue">
  215. <div v-if="item.success" style="color: green">
  216. <p>系统资产编码:{{ item.equipmentCode1 }}</p>
  217. <p>&nbsp;&nbsp;&nbsp;&nbsp;条形码编码:{{ item.equipmentCode2 }}</p>
  218. <span style="float: right; margin-top: -48px"
  219. ><van-icon name="passed" size="16" />&nbsp;一致</span
  220. >
  221. </div>
  222. <div v-if="!item.success" style="color: red">
  223. <p>系统资产编码:{{ item.equipmentCode1 }}</p>
  224. <p>&nbsp;&nbsp;&nbsp;&nbsp;条形码编码:{{ item.equipmentCode2 }}</p>
  225. <span style="float: right; margin-top: -48px"
  226. ><van-icon name="close" size="16" />&nbsp;不一致</span
  227. >
  228. </div>
  229. </div>
  230. </div>
  231. <p
  232. style="color: #444; font-size: 12px; margin: 0; text-align: right"
  233. v-if="item.collectionOptionList[0].collectionOption">
  234. <van-field
  235. class="mobile-input"
  236. v-model="item.collectionOptionList[0].collectionOption"
  237. autosize
  238. readonly
  239. type="textarea" />
  240. </p>
  241. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  242. </div>
  243. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'duox'">
  244. <van-cell>
  245. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  246. </van-cell>
  247. <div class="selesetText">
  248. <p class="mg0" v-for="(item1, index1) in item.collectionOptionList" :key="index1">
  249. <span v-if="item1.isCheck == 1">{{ item1.collectionOption }}</span>
  250. </p>
  251. </div>
  252. <!--<p style="color: #444;-->
  253. <!--font-size: 12px;-->
  254. <!--margin: 0;-->
  255. <!--padding:10px 0;text-align: right">{{item.collectionOptionList[0].collectionOption}}</p>-->
  256. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  257. </div>
  258. <div class="formLabel z-cell z-cells" v-if="item.answerType == 'dx'">
  259. <van-cell>
  260. <template #title> {{ index + 1 }}.{{ item.collectionName }} </template>
  261. </van-cell>
  262. <div class="selesetText">
  263. <p class="mg0" v-for="(item2, index2) in item.collectionOptionList" :key="index2">
  264. <span v-if="item2.isCheck == 1">{{ item2.collectionOption }}</span>
  265. </p>
  266. </div>
  267. <!--<p style="color: #444;-->
  268. <!--font-size: 12px;-->
  269. <!--margin: 0;-->
  270. <!--padding:10px 0;text-align: right">{{item.collectionOptionList[0].collectionOption}}</p>-->
  271. <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
  272. </div>
  273. </div>
  274. </van-form>
  275. </div>
  276. <!-- 识别结果 -->
  277. <div class="identifyResult" v-if="taskPhotoRecognitionResult" style="padding: 0 10px">
  278. <div style="font-weight: bold; padding: 10px; font-size: 16px">
  279. <span>识别结果:</span>
  280. <span style="color: red">{{
  281. activatedSfaTask.taskPhotoConditionPassed == '1' ? 'AI识别通过' : 'AI识别不通过'
  282. }}</span>
  283. </div>
  284. <div class="resultContent">
  285. <el-table
  286. :data="taskPhotoRecognitionResult"
  287. :span-method="taskObjectSpanMethod"
  288. border
  289. class="table-headermd1"
  290. style="width: 100%">
  291. <el-table-column label="" type="index" width="50px" align="center" />
  292. <el-table-column label="产品" prop="skuProductName" align="center" />
  293. <el-table-column
  294. label="识别排面数"
  295. prop="identifyTheNumberOfCards"
  296. width="70px"
  297. align="center">
  298. </el-table-column>
  299. <el-table-column label="要求" prop="conditionIdentifyNum" align="center" width="60px">
  300. <template slot-scope="scope">
  301. <span :style="{ color: scope.row.meetTheStandard == 1 ? '#07c160' : 'red' }">
  302. {{ scope.row.conditionIdentifyNum }}
  303. </span>
  304. </template>
  305. </el-table-column>
  306. </el-table>
  307. </div>
  308. </div>
  309. <van-dialog v-model="listShow" title="历史回显" show-cancel-button :showConfirmButton="false">
  310. <div style="border: 1px solid #eee; margin-top: 18px">
  311. <div class="itenHhistory" v-for="item in list">
  312. <p>内容:{{ item.answerValue }}</p>
  313. <p>拜访人:{{ item.nickName }}</p>
  314. <p>拜访时间:{{ item.createTime }}</p>
  315. </div>
  316. </div>
  317. </van-dialog>
  318. <br />
  319. </div>
  320. </template>
  321. <script>
  322. import { getCollectionShowHistory, getPhotoTypeList, getVisitsDetail } from '@/api/index';
  323. import deleteUploadImg from '@/components/deleteUploadImg';
  324. export default {
  325. name: 'abnormalVisit',
  326. components: { deleteUploadImg },
  327. data() {
  328. return {
  329. value: '',
  330. sdsd: false,
  331. showPicker: false,
  332. logshow: false,
  333. imgs: [],
  334. checkboxGroup: [],
  335. listShow: false,
  336. showCode: false,
  337. deviceCode: '',
  338. list: [],
  339. radio: '',
  340. uploadid2: 'uploadid2',
  341. collectionItemList: [],
  342. rdId: '',
  343. show: false,
  344. PhotoTypeList: [],
  345. PhotoType: '',
  346. PhotoTypeText: '',
  347. indexselect: 0,
  348. visitId: '',
  349. storeGroupId: '',
  350. taskId: '',
  351. collectionId: '',
  352. storeId: '',
  353. collectionAnswerlisd: [],
  354. tableData1: [],
  355. taskType: 1,
  356. flag: false,
  357. indeximg: '',
  358. checkShow: false,
  359. infoData: {},
  360. putInCode: '',
  361. inspectionType: '',
  362. equipmentCode: '',
  363. taskPhotoRecognitionResult: null,
  364. yfNumFlage: false,
  365. wuliaoPhotoImg: [], //任务包含的图片信息(只针对于物料任务)
  366. activatedSfaTask: null,
  367. spanArr: [],
  368. pos: 0,
  369. title: '',
  370. };
  371. },
  372. activated() {
  373. this.taskType = 1;
  374. this.tableData1 = [];
  375. this.collectionItemList = [];
  376. this.taskType = this.$route.query.taskType;
  377. this.PhotoType = this.$route.query.photoType;
  378. this.visitId = this.$route.query.visitId + '';
  379. this.taskId = this.$route.query.taskId + '';
  380. this.storeId = this.$route.query.storeId + '';
  381. this.storeGroupId = this.$route.query.storeGroupId + '';
  382. if (this.$route.query.photoType != null) {
  383. this.indexselect = 0;
  384. } else {
  385. this.indexselect = 1;
  386. }
  387. this.taskPhotoRecognitionResult = null;
  388. this.getPhotoTypeList();
  389. this.info();
  390. },
  391. methods: {
  392. objectSpanMethod({ row, column, rowIndex, columnIndex }) {
  393. const cellValue = row[column.property];
  394. if (cellValue && ['signDictype'].includes(column.property)) {
  395. const prevRow = this.tableData1[rowIndex - 1];
  396. let nextRow = this.tableData1[rowIndex + 1];
  397. if (prevRow && prevRow[column.property] === cellValue) {
  398. return { rowspan: 0, colspan: 0 };
  399. } else {
  400. let countRowspan = 1;
  401. while (nextRow && nextRow[column.property] === cellValue) {
  402. nextRow = this.tableData1[++countRowspan + rowIndex];
  403. }
  404. if (countRowspan > 1) {
  405. return { rowspan: countRowspan, colspan: 1 };
  406. }
  407. }
  408. }
  409. },
  410. taskObjectSpanMethod({ row, column, rowIndex, columnIndex }) {
  411. const cellValue = row[column.property];
  412. if (cellValue && ['conditionIdentifyNum'].includes(column.property)) {
  413. const _row = this.spanArr[rowIndex]; // 合并行数
  414. const _col = this.spanArr[rowIndex] > 0 ? 1 : 0; // 合并的列数
  415. return {
  416. rowspan: _row,
  417. colspan: _col,
  418. };
  419. }
  420. },
  421. // 历史回显
  422. getCollectionShowHistory(id) {
  423. getCollectionShowHistory({
  424. storeId: this.infoData.storeId,
  425. collectionId: id.collectionId,
  426. visitsId: this.$route.query.visitId,
  427. storeGroupId: this.$route.query.storeGroupId,
  428. taskId: this.$route.query.taskId,
  429. }).then((res) => {
  430. if (res.data.length > 0) {
  431. this.list = res.data;
  432. this.listShow = true;
  433. } else {
  434. this.$toast('暂无历史信息');
  435. }
  436. });
  437. },
  438. checkFn(val) {
  439. var arrc = [];
  440. for (var cl = 0; cl < val.length; cl++) {
  441. if (val[cl].isCheck == '1') {
  442. arrc.push(val[cl].collectionOption);
  443. }
  444. }
  445. return arrc.join(',');
  446. },
  447. getSpanArr(data) {
  448. if (!data) return;
  449. this.spanArr = []; // tip: 后台获取完成数据后,一定要重置spanArr=[],避免出现合并混乱!!!!!
  450. for (let i = 0; i < data.length; i++) {
  451. // 当为第一行时
  452. if (i === 0) {
  453. this.spanArr.push(1);
  454. this.pos = 0;
  455. } else {
  456. // 判断当前值是否与上一行的【名称】相等,相等则进行合并
  457. if (data[i].conditionDetailId === data[i - 1].conditionDetailId) {
  458. this.spanArr[this.pos] += 1; // 合并单元格:合并的行数 +1
  459. this.spanArr.push(0); // 0代表单元格是不需要显示, 已经被合并的单元格
  460. } else {
  461. this.spanArr.push(1); // 1代表当前这行的数据需要被显示
  462. this.pos = i;
  463. }
  464. }
  465. }
  466. },
  467. info() {
  468. this.toastLoading(0, '加载中...', true);
  469. getVisitsDetail({ visitsId: this.visitId }).then((res) => {
  470. this.toastLoading().clear();
  471. this.infoData = res.data;
  472. let filterSfaTask = res.data.sfaTaskList.filter((val) => val.taskId == this.taskId);
  473. this.activatedSfaTask = filterSfaTask.length ? filterSfaTask[0] : null;
  474. if (!this.activatedSfaTask) return false;
  475. this.title = this.activatedSfaTask.taskName;
  476. this.taskPhotoRecognitionResult = this.activatedSfaTask.taskPhotoRecognitionResult;
  477. this.getSpanArr(this.taskPhotoRecognitionResult);
  478. var collectionItemLists = this.activatedSfaTask.collectionItemList;
  479. if (this.activatedSfaTask.checkUnManage == 'Y') {
  480. this.checkShow = true;
  481. } else {
  482. this.checkShow = false;
  483. }
  484. // this.deviceCode=res.data.deviceCode;
  485. // this.putInCode=res.data.putInCode;
  486. this.deviceCode = this.activatedSfaTask.deviceCode || ''; // 设备编号
  487. this.putInCode = this.activatedSfaTask.putInCode || ''; // 投放编号
  488. this.equipmentCode = this.activatedSfaTask.equipmentCode || ''; // 机资产编号
  489. this.inspectionType = this.activatedSfaTask.inspectionType;
  490. // if (this.activatedSfaTask.inspectionType == 'buy') {
  491. // this.showCode = true;
  492. // } else {
  493. // this.showCode = false;
  494. // }
  495. if (this.$route.query.taskType == 1 || this.$route.query.taskType == 4) {
  496. for (var q = 0; q < collectionItemLists.length; q++) {
  497. if (
  498. collectionItemLists[q].answerType == 'sz' ||
  499. collectionItemLists[q].answerType == 'wb' ||
  500. collectionItemLists[q].answerType == 'tel' ||
  501. collectionItemLists[q].answerType == 'date' ||
  502. collectionItemLists[q].answerType == 'tel_send_code' ||
  503. collectionItemLists[q].answerType == 'check_code' ||
  504. collectionItemLists[q].answerType == 'nyr' ||
  505. collectionItemLists[q].answerType == 'dhwb'
  506. ) {
  507. collectionItemLists[q].answerValue =
  508. collectionItemLists[q].collectionOptionList[0].answerValue;
  509. }
  510. if (collectionItemLists[q].answerType == 'sm') {
  511. collectionItemLists[q].success = false;
  512. if (
  513. collectionItemLists[q].collectionOptionList[0].answerValue != null &&
  514. collectionItemLists[q].collectionOptionList[0].answerValue != ''
  515. ) {
  516. collectionItemLists[q].equipmentCode2 =
  517. collectionItemLists[q].collectionOptionList[0].answerValue.split(',')[1];
  518. if (
  519. collectionItemLists[q].collectionOptionList[0].answerValue.split(',')[0] != 'null'
  520. ) {
  521. collectionItemLists[q].equipmentCode1 =
  522. collectionItemLists[q].collectionOptionList[0].answerValue.split(',')[0];
  523. } else {
  524. collectionItemLists[q].equipmentCode1 = '编码不存在';
  525. }
  526. if (
  527. collectionItemLists[q].collectionOptionList[0].answerValue.split(',')[0] ==
  528. collectionItemLists[q].collectionOptionList[0].answerValue.split(',')[1]
  529. ) {
  530. collectionItemLists[q].success = true;
  531. }
  532. }
  533. }
  534. if (
  535. collectionItemLists[q].answerType == 'duox' ||
  536. collectionItemLists[q].answerType == 'dx'
  537. ) {
  538. collectionItemLists[q].answerValue = [];
  539. for (var qq = 0; qq < collectionItemLists[q].collectionOptionList.length; qq++) {
  540. if (collectionItemLists[q].collectionOptionList[qq].isCheck == 1) {
  541. collectionItemLists[q].answerValue.push(
  542. collectionItemLists[q].collectionOptionList[qq].collectionOptionId,
  543. );
  544. collectionItemLists[q].collectionOptionList[qq].code =
  545. collectionItemLists[q].collectionCode;
  546. collectionItemLists[q].collectionOptionList[qq].answerType =
  547. collectionItemLists[q].answerType;
  548. this.collectionAnswerlisd.push(collectionItemLists[q].collectionOptionList[qq]);
  549. }
  550. }
  551. collectionItemLists[q].answerValue = collectionItemLists[q].answerValue.join();
  552. }
  553. }
  554. this.collectionItemList = collectionItemLists;
  555. } else {
  556. for (var f = 0; f < collectionItemLists.length; f++) {
  557. var collectionOptionListarr = collectionItemLists[f].collectionOptionList;
  558. for (var ff = 0; ff < collectionOptionListarr.length; ff++) {
  559. if (ff == '0') {
  560. collectionItemLists[f].xdjhyj = collectionOptionListarr[ff].answerValue;
  561. collectionItemLists[f].value = collectionOptionListarr[ff].answerValue;
  562. }
  563. if (ff == '1') {
  564. collectionItemLists[f].xdjhchjj = collectionOptionListarr[ff].answerValue;
  565. }
  566. if (ff == '2') {
  567. collectionItemLists[f].ygnhj = collectionOptionListarr[ff].answerValue;
  568. }
  569. }
  570. }
  571. this.wuliaoPhotoImg = this.activatedSfaTask.fileInfoList;
  572. this.tableData1 = collectionItemLists;
  573. let yfNumArr = this.tableData1.filter((val) => val.yfNum);
  574. this.yfNumFlage = yfNumArr.length ? true : false;
  575. }
  576. });
  577. },
  578. getPhotoTypeList() {
  579. getPhotoTypeList({}).then((res) => {
  580. var PhotoTypeLists = [];
  581. for (var p = 0; p < res.data.length; p++) {
  582. PhotoTypeLists.push({
  583. dictValue: res.data[p].dictValue,
  584. text: res.data[p].dictLabel,
  585. });
  586. }
  587. this.PhotoTypeList = PhotoTypeLists;
  588. });
  589. },
  590. onClickLeft() {
  591. this.$router.go(-1);
  592. },
  593. tipTitle(val) {
  594. this.$toast(val);
  595. },
  596. },
  597. };
  598. </script>
  599. <style scoped>
  600. .container {
  601. background-color: white;
  602. }
  603. .van-f-red {
  604. color: red;
  605. width: 8px;
  606. display: inline-block;
  607. line-height: 26px;
  608. }
  609. .formLabel {
  610. margin: 0 16px;
  611. padding-bottom: 16px;
  612. border-bottom: 1px solid #f1f1f1;
  613. }
  614. .formLabel .van-cell {
  615. padding: 10px 0;
  616. }
  617. .formLabel .van-cell::after {
  618. border: 0;
  619. }
  620. .formLabel .van-field {
  621. border: 1px solid #f1f1f1;
  622. padding: 6px;
  623. width: 100%;
  624. border-radius: 4px;
  625. overflow: hidden;
  626. }
  627. .formLabel .van-field__control {
  628. padding: 0 10px;
  629. }
  630. .formLabel .formLabeltitle {
  631. position: absolute;
  632. top: 8px;
  633. }
  634. .z-checkbox .van-radio {
  635. padding: 6px 0;
  636. }
  637. .z-cell .van-cell__title {
  638. font-size: 16px;
  639. }
  640. .deviceCode {
  641. font-size: 16px;
  642. padding: 12px;
  643. background-color: white;
  644. margin: 0 12px;
  645. border-radius: 5px;
  646. position: relative;
  647. overflow: hidden;
  648. display: flex;
  649. flex-direction: row;
  650. align-items: center;
  651. }
  652. .vertical {
  653. background-color: #2b2f3a;
  654. height: 14px;
  655. width: 8px;
  656. border-radius: 40px;
  657. margin-right: 10px;
  658. /* position: absolute;
  659. left: -3px;
  660. top: 50px; */
  661. }
  662. </style>
  663. <style lang="scss">
  664. .hisvistdeils {
  665. .table-headermd {
  666. font-size: 1.2rem;
  667. text-align: center;
  668. position: initial;
  669. width: 94% !important;
  670. margin: 0 auto;
  671. border-right: 0;
  672. }
  673. .table-headermd .el-table__header,
  674. .table-headermd .el-table__body {
  675. width: 100% !important;
  676. }
  677. .table-headermd col {
  678. width: 5.8rem;
  679. }
  680. .table-headermd col:nth-child(2),
  681. .table-headermd col:nth-child(4),
  682. .table-headermd col:nth-child(3) {
  683. width: 5rem;
  684. }
  685. .table-headermd .van-cell {
  686. padding: 0 4px;
  687. height: 100%;
  688. }
  689. .table-headermd th.el-table__cell > .cell {
  690. padding: 0 4px;
  691. }
  692. .table-headermd th.el-table__cell {
  693. background-color: #1989fa;
  694. color: #fff;
  695. }
  696. .table-headermd .el-table__cell {
  697. padding: 4px 0;
  698. }
  699. .table-headermd .tipTitle {
  700. overflow: hidden;
  701. text-overflow: ellipsis;
  702. display: -webkit-box;
  703. -webkit-box-orient: vertical;
  704. -webkit-line-clamp: 2;
  705. }
  706. .table-headermd::before {
  707. height: 0;
  708. }
  709. .f-right {
  710. text-align: right;
  711. margin: 0;
  712. }
  713. .mg0 {
  714. margin: 6px 10px;
  715. color: #909090;
  716. font-size: 14px;
  717. }
  718. .selesetText {
  719. margin-bottom: 16px;
  720. }
  721. .z-cells .van-cell__title {
  722. font-weight: bold;
  723. color: #4a4a4a;
  724. }
  725. .z-cells .van-cell {
  726. padding-bottom: 0;
  727. }
  728. .table-headermd1 {
  729. font-size: 14px;
  730. text-align: center;
  731. position: initial;
  732. width: 98% !important;
  733. margin: 0 auto;
  734. border-right: 0;
  735. border-radius: 8px;
  736. th {
  737. color: #000;
  738. font-weight: bold;
  739. }
  740. td {
  741. color: #000;
  742. }
  743. .el-table__cell {
  744. padding: 6px 0 !important;
  745. .cell {
  746. padding: 0;
  747. }
  748. }
  749. }
  750. .table-headermd1 th.el-table__cell {
  751. // background-color: #f5f5f5;
  752. }
  753. }
  754. </style>
  755. <style>
  756. .containert .van-cell__title {
  757. overflow: auto;
  758. height: auto;
  759. }
  760. .mobile-input .van-field__control {
  761. font-size: 12px;
  762. color: #999;
  763. border: 0;
  764. }
  765. .formLabel .mobile-input {
  766. border: 0 !important;
  767. }
  768. </style>