hisvistdeils.vue 26 KB

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