detectionDetection.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683
  1. <template>
  2. <div class="app-container">
  3. <!-- 查询表单 start-->
  4. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
  5. <el-form-item label="委托单号" prop="supplier">
  6. <el-input
  7. v-model="queryParams.wtNumber"
  8. placeholder="请输入委托单号"
  9. clearable
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="日期" prop="date">
  14. <el-date-picker clearable
  15. v-model="queryParams.date"
  16. type="date"
  17. value-format="yyyy-MM-dd"
  18. placeholder="请选择日期">
  19. </el-date-picker>
  20. </el-form-item>
  21. <el-form-item label="批号" prop="lotNumber">
  22. <el-input
  23. v-model="queryParams.lotNumber"
  24. placeholder="请输入批号"
  25. clearable
  26. @keyup.enter.native="handleQuery"
  27. />
  28. </el-form-item>
  29. <el-form-item label="规格" prop="specification">
  30. <el-input
  31. v-model="queryParams.specification"
  32. placeholder="请输入规格"
  33. clearable
  34. @keyup.enter.native="handleQuery"
  35. />
  36. </el-form-item>
  37. <el-form-item label="厂家" prop="manufacturer">
  38. <el-input
  39. v-model="queryParams.manufacturer"
  40. placeholder="请输入厂家"
  41. clearable
  42. @keyup.enter.native="handleQuery"
  43. />
  44. </el-form-item>
  45. <el-form-item>
  46. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  47. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  48. </el-form-item>
  49. </el-form>
  50. <!-- 查询表单 end-->
  51. <el-row :gutter="10" class="mb8">
  52. <el-col :span="1.5">
  53. <el-button
  54. type="info"
  55. plain
  56. icon="el-icon-upload2"
  57. size="mini"
  58. @click="handleUpFileOpen"
  59. v-hasPermi="['lims:ypjc:jcgc:scfj']"
  60. >附件上传</el-button>
  61. </el-col>
  62. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  63. </el-row>
  64. <!-- 表格start -->
  65. <selsetHeader style="margin-top: 20px" :tLength="9" :options="tableHeadData.slice(1, tableHeadData.length -1 )" @change="cascaderChangeFun"></selsetHeader>
  66. <el-table v-loading="loading" style="margin-top:20px" ref="tableTree" :data="detectionResultList" @selection-change="handleSelectionChange">
  67. <el-table-column :prop="tableHeadData[0].value" :label="tableHeadData[0].label" align="center" width="180"></el-table-column>
  68. <el-table-column v-for="(item, index) in optionsData" :key="index" :prop="item.value" :label="item.label" align="center">
  69. <template v-slot="scope" v-if="item.label=='审核状态'">
  70. <dict-tag :options="dict.type.shzt" :value="parseInt(scope.row.dataApprovalStatus)"/>
  71. </template>
  72. </el-table-column>
  73. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  74. <template slot-scope="scope">
  75. <el-dropdown @command="(command)=>{handleCommand(command, scope.row)}">
  76. <el-button type="warning">
  77. 操作<i class="el-icon-arrow-down el-icon--right"></i>
  78. </el-button>
  79. <el-dropdown-menu slot="dropdown">
  80. <!-- <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>-->
  81. <!-- <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item>-->
  82. <el-dropdown-item icon="el-icon-edit" v-hasPermi="['lims:ypjc:jcgc:ckfj']" command="catbg">报告预览</el-dropdown-item>
  83. <el-dropdown-item icon="el-icon-edit" v-hasPermi="['lims:ypjc:jcgc:ckfj']" v-if="scope.row.dataApprovalStatus==1||scope.row.dataApprovalStatus==0" command="bgsh">报告审核</el-dropdown-item>
  84. </el-dropdown-menu>
  85. </el-dropdown>
  86. </template>
  87. </el-table-column>
  88. </el-table>
  89. <!-- 表格end -->
  90. <!-- 分页器start -->
  91. <pagination
  92. v-show="total>0"
  93. :total="total"
  94. :page.sync="queryParams.pageNum"
  95. :limit.sync="queryParams.pageSize"
  96. @pagination="getList"
  97. />
  98. <!-- 分页器end -->
  99. <!-- 添加或修改性能检测结果对话框 -->
  100. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  101. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  102. <el-form-item label="序号" prop="serialNumber">
  103. <el-input v-model="form.serialNumber" placeholder="请输入序号" />
  104. </el-form-item>
  105. <el-form-item label="日期" prop="date">
  106. <el-date-picker clearable
  107. v-model="form.date"
  108. type="date"
  109. value-format="yyyy-MM-dd"
  110. placeholder="请选择日期">
  111. </el-date-picker>
  112. </el-form-item>
  113. <el-form-item label="批号" prop="lotNumber">
  114. <el-input v-model="form.lotNumber" placeholder="请输入批号" />
  115. </el-form-item>
  116. <el-form-item label="规格" prop="specification">
  117. <el-input v-model="form.specification" placeholder="请输入规格" />
  118. </el-form-item>
  119. <el-form-item label="合金状态" prop="alloyState">
  120. <el-input v-model="form.alloyState" placeholder="请输入合金状态" />
  121. </el-form-item>
  122. <el-form-item label="厂家" prop="manufacturer">
  123. <el-input v-model="form.manufacturer" placeholder="请输入厂家" />
  124. </el-form-item>
  125. <el-form-item label="抗拉值Mpa" prop="tensileValueMpa">
  126. <el-input v-model="form.tensileValueMpa" placeholder="请输入抗拉值Mpa" />
  127. </el-form-item>
  128. <el-form-item label="延伸率%" prop="rateOfElongation">
  129. <el-input v-model="form.rateOfElongation" placeholder="请输入延伸率%" />
  130. </el-form-item>
  131. <el-form-item label="断裂力变形mm" prop="fractureDeformation">
  132. <el-input v-model="form.fractureDeformation" placeholder="请输入断裂力变形mm" />
  133. </el-form-item>
  134. <el-form-item label="最大力" prop="maximumForce">
  135. <el-input v-model="form.maximumForce" placeholder="请输入最大力" />
  136. </el-form-item>
  137. <el-form-item label="抗拉强度(平均值)" prop="tensileStrengthAvg">
  138. <el-input v-model="form.tensileStrengthAvg" placeholder="请输入抗拉强度(平均值)" />
  139. </el-form-item>
  140. <el-form-item label="断裂力变形率(平均值)" prop="fractureForceRateAvg">
  141. <el-input v-model="form.fractureForceRateAvg" placeholder="请输入断裂力变形率(平均值)" />
  142. </el-form-item>
  143. <el-form-item label="复测" prop="repeatSurvey">
  144. <el-input v-model="form.repeatSurvey" placeholder="请输入复测" />
  145. </el-form-item>
  146. <el-form-item label="制作方向" prop="productionDirection">
  147. <el-input v-model="form.productionDirection" placeholder="请输入制作方向" />
  148. </el-form-item>
  149. <el-form-item label="抗拉值Mpa" prop="tensileValueMpaTwo">
  150. <el-input v-model="form.tensileValueMpaTwo" placeholder="请输入抗拉值Mpa" />
  151. </el-form-item>
  152. <el-form-item label="延伸率&" prop="rateOfElongationTwo">
  153. <el-input v-model="form.rateOfElongationTwo" placeholder="请输入延伸率&" />
  154. </el-form-item>
  155. <el-form-item label="标准" prop="standard">
  156. <el-input v-model="form.standard" placeholder="请输入标准" />
  157. </el-form-item>
  158. <el-form-item label="判定结果" prop="decisionResult">
  159. <el-input v-model="form.decisionResult" placeholder="请输入判定结果" />
  160. </el-form-item>
  161. <el-form-item label="LSL1" prop="lslOne">
  162. <el-input v-model="form.lslOne" placeholder="请输入LSL1" />
  163. </el-form-item>
  164. <el-form-item label="USL" prop="usl">
  165. <el-input v-model="form.usl" placeholder="请输入USL" />
  166. </el-form-item>
  167. <el-form-item label="LSL2" prop="lsl2">
  168. <el-input v-model="form.lsl2" placeholder="请输入LSL2" />
  169. </el-form-item>
  170. <el-form-item label="检测员" prop="inspector">
  171. <el-input v-model="form.inspector" placeholder="请输入检测员" />
  172. </el-form-item>
  173. <el-form-item label="性能创建时间" prop="performanceCreationTime">
  174. <el-input v-model="form.performanceCreationTime" placeholder="请输入性能创建时间" />
  175. </el-form-item>
  176. <el-form-item label="备注" prop="remark">
  177. <el-input v-model="form.remark" placeholder="请输入备注" />
  178. </el-form-item>
  179. <el-form-item label="创建者id" prop="createById">
  180. <el-input v-model="form.createById" placeholder="请输入创建者id" />
  181. </el-form-item>
  182. <el-form-item label="更新者id" prop="updateById">
  183. <el-input v-model="form.updateById" placeholder="请输入更新者id" />
  184. </el-form-item>
  185. <el-form-item label="删除标志" prop="delFlag">
  186. <el-input v-model="form.delFlag" placeholder="请输入删除标志" />
  187. </el-form-item>
  188. <el-form-item label="流程编号" prop="processKey">
  189. <el-input v-model="form.processKey" placeholder="请输入流程编号" />
  190. </el-form-item>
  191. <el-form-item label="任务编码" prop="taskProcessKey">
  192. <el-input v-model="form.taskProcessKey" placeholder="请输入任务编码" />
  193. </el-form-item>
  194. <el-form-item label="任务节点编码" prop="taskNodeKey">
  195. <el-input v-model="form.taskNodeKey" placeholder="请输入任务节点编码" />
  196. </el-form-item>
  197. </el-form>
  198. <div slot="footer" class="dialog-footer">
  199. <el-button type="primary" @click="submitForm">确 定</el-button>
  200. <el-button @click="cancel">取 消</el-button>
  201. </div>
  202. </el-dialog>
  203. <!-- 文件上传 -->
  204. <el-dialog title="附件上传" v-if="upFileOpen" :visible.sync="upFileOpen" width="800px" append-to-body>
  205. <uploadFileCustom :upload="upload"></uploadFileCustom>
  206. </el-dialog>
  207. <!--文件预览-->
  208. <fileView visible.sync="fjzs" ref="fileView"></fileView>
  209. <!-- 审核弹窗 -->
  210. <el-dialog title="报告审核" :visible.sync="sHOpen" width="500px" append-to-body>
  211. <el-form ref="shForm" :model="shForm" :rules="shrules" label-width="80px">
  212. <el-radio v-model="shForm.dataApprovalStatus" label="1">通过</el-radio>
  213. <el-radio v-model="shForm.dataApprovalStatus" label="2">作废</el-radio>
  214. </el-form>
  215. <div slot="footer" class="dialog-footer">
  216. <el-button type="primary" @click="shSubmitForm">确 定</el-button>
  217. <el-button @click="cancelSH">取 消</el-button>
  218. </div>
  219. </el-dialog>
  220. </div>
  221. </template>
  222. <script>
  223. import { listDetectionResult, getDetectionResult, delDetectionResult, addDetectionResult, updateDetectionResult } from "@/api/lims/materielInfo/detectionResult";
  224. import selsetHeader from "@/views/amichi/materiel/components/selsetHeader.vue";
  225. import {getToken} from "@/utils/auth";
  226. // 引入
  227. import fileView from '@/views/lims/components/fileView.vue'
  228. import uploadFileCustom from "@/views/lims/components/CustomFileUploadComponent.vue"
  229. // 引入VueOfficeDocx组件
  230. import VueOfficeDocx from '@vue-office/docx';
  231. import { Base64 } from 'js-base64';
  232. // 引入相关样式
  233. import '@vue-office/docx/lib/index.css';
  234. export default {
  235. name: "DetectionResult",
  236. components: {selsetHeader,uploadFileCustom,fileView,VueOfficeDocx},
  237. dicts:["shzt"],
  238. data() {
  239. return {
  240. shForm:{
  241. dataApprovalStatus:"1"
  242. },
  243. shrules:{
  244. },
  245. sHOpen:false,
  246. fjzs:false,
  247. // 用户导入参数
  248. // upload: {
  249. // // 是否显示弹出层(用户导入)
  250. // open: false,
  251. // // 弹出层标题(用户导入)
  252. // title: "",
  253. // // 是否禁用上传
  254. // isUploading: false,
  255. // // 是否更新已经存在的用户数据
  256. // updateSupport: 0,
  257. // // 设置上传的请求头部
  258. // headers: {Authorization: "Bearer " + getToken()},
  259. // // 上传的地址
  260. // url: process.env.VUE_APP_BASE_API + "/system/user/importData",
  261. // },
  262. // 上传参数
  263. upload: {
  264. // 是否禁用上传
  265. isUploading: false,
  266. // 设置上传的请求头部
  267. headers: {
  268. Authorization: "Bearer " + getToken()
  269. },
  270. // 上传的地址
  271. url: process.env.VUE_APP_BASE_API + "/laboratory/detectionResult/uploads",
  272. // 上传的文件列表
  273. fileList: [],
  274. upFilePath: [],
  275. },
  276. tableHeadData: [
  277. {label: '委托单号',value: 'wtNumber',},
  278. {label: '批号', value: 'lotNumber',},
  279. {label: '规格',value: 'specification',},
  280. {label: '合金状态',value: 'alloyState',},
  281. {label: '厂家', value: 'manufacturer',},
  282. {label: '判定结果',value: 'decisionResult',},
  283. {label: '审核状态',value: 'dataApprovalStatus',},
  284. {label: '审批人',value: 'taskNodeKey',},
  285. {label: '审批时间',value: 'taskProcessKey',},
  286. {label: '抗拉值Mpa',value: 'tensileValueMpa',},
  287. {label: '延伸率%',value: 'rateOfElongation',},
  288. {label: '断裂力变形mm',value: 'fractureDeformation',},
  289. {label: '最大力',value: 'maximumForce',},
  290. {label: '抗拉强度(平均值)',value: 'tensileStrengthAvg',},
  291. {label: '断裂力变形率(平均值)',value: 'fractureForceRateAvg',},
  292. {label: '复测',value: 'repeatSurvey',},
  293. {label: '产品类型',value: 'productType',},
  294. {label: '制作方向',value: 'productionDirection',},
  295. {label: '抗拉值Mpa', value: 'tensileValueMpaTwo',},
  296. {label: '延伸率&',value: 'rateOfElongationTwo',},
  297. {label: '标准',value: 'standard',},
  298. {label: 'LSL1',value: 'lslOne',},
  299. {label: 'USL',value: 'usl'},
  300. {label: 'LSL2',value: 'lsl2'},
  301. {label: '检测员',value: 'inspector',},
  302. {label: '性能创建时间',value: 'performanceCreationTime',},
  303. {label: '备注',value: 'remark',}
  304. ], //表头存储
  305. optionsData: [
  306. {label: '委托单号',value: 'wtNumber',},
  307. {label: '批号', value: 'lotNumber',},
  308. {label: '规格',value: 'specification',},
  309. {label: '合金状态',value: 'alloyState',},
  310. {label: '厂家', value: 'manufacturer',},
  311. {label: '判定结果',value: 'decisionResult',},
  312. {label: '审核状态',value: 'dataApprovalStatus',},
  313. {label: '审批人',value: 'taskNodeKey',},
  314. {label: '审批时间',value: 'taskProcessKey',},
  315. ],
  316. // 遮罩层
  317. loading: true,
  318. upFileOpen:false,
  319. // 选中数组
  320. ids: [],
  321. // 非单个禁用
  322. single: true,
  323. // 非多个禁用
  324. multiple: true,
  325. // 显示搜索条件
  326. showSearch: false,
  327. // 总条数
  328. total: 0,
  329. // 性能检测结果表格数据
  330. detectionResultList: [],
  331. // 弹出层标题
  332. title: "",
  333. // 是否显示弹出层
  334. open: false,
  335. // 查询参数
  336. queryParams: {
  337. pageNum: 1,
  338. pageSize: 10,
  339. serialNumber: null,
  340. date: null,
  341. lotNumber: null,
  342. specification: null,
  343. alloyState: null,
  344. manufacturer: null,
  345. tensileValueMpa: null,
  346. rateOfElongation: null,
  347. fractureDeformation: null,
  348. maximumForce: null,
  349. tensileStrengthAvg: null,
  350. fractureForceRateAvg: null,
  351. repeatSurvey: null,
  352. productType: null,
  353. productionDirection: null,
  354. tensileValueMpaTwo: null,
  355. rateOfElongationTwo: null,
  356. standard: null,
  357. decisionResult: null,
  358. lslOne: null,
  359. usl: null,
  360. lsl2: null,
  361. inspector: null,
  362. performanceCreationTime: null,
  363. createById: null,
  364. updateById: null,
  365. dataApprovalStatus: null,
  366. processKey: null,
  367. taskProcessKey: null,
  368. taskNodeKey: null
  369. },
  370. // 表单参数
  371. form: {},
  372. // 表单校验
  373. rules: {
  374. },
  375. showType: '',
  376. docUrl: ''
  377. };
  378. },
  379. provide() {
  380. return {
  381. handleFileSuccess: this.handleFileSuccess,
  382. closeFileDialog: this.handleCloseFileDialog,
  383. };
  384. },
  385. created() {
  386. this.getList();
  387. },
  388. methods: {
  389. //下拉菜单点击事件
  390. handleCommand(command, row) {
  391. switch (command) {
  392. case "handleUpdate":
  393. this.handleUpdate(row)
  394. break;
  395. case "handleDelete":
  396. this.handleDelete(row)
  397. break;
  398. case "catbg":
  399. this.catbg(row)
  400. break;
  401. case "bgsh":
  402. this.bgsh(row);
  403. break;
  404. default:
  405. break;
  406. }
  407. },
  408. catbg(row){
  409. // console.log("查看报告") VUE_APP_BASE_IMG_API_MINIO
  410. //let path=process.env.VUE_APP_BASE_IMG_API+"/profile/upload/"
  411. let path=process.env.VUE_APP_BASE_IMG_API_MINIO+"/"
  412. let url=path+row.wtNumber+".rtf"
  413. // console.log(url)
  414. // // this.$router.push({
  415. // // path: '/gygl/pdfdyl',
  416. // // query: {
  417. // // url:url,
  418. // // name: row.wtNumber+row.lotNumber
  419. // // },
  420. // // })
  421. //
  422. // // // 创建一个新的标签页
  423. // const newTab = window.open('', '_blank');
  424. // //
  425. // // 如果浏览器允许,在新标签页中嵌入iframe并打开PDF
  426. // if (newTab) {
  427. // const iframeHTML = `<iframe src="${url}" width="100%" height="100%" style="border: none;"></iframe>`;
  428. // newTab.document.write(iframeHTML);
  429. // }
  430. let aa='http://192.168.128.171:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url));
  431. console.log(aa)
  432. window.open(aa,'_blank');
  433. //创建一个新的标签页
  434. // const newTab = window.open('', '_blank');
  435. // //如果浏览器允许,在新标签页中嵌入iframe并打开PDF
  436. // console.log("0",newTab)
  437. // if (newTab) {
  438. // console.log("1")
  439. //
  440. // }else {
  441. // console.log("2")
  442. // window.open('http://192.168.128.171:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));
  443. // }
  444. },
  445. previewPdf() {
  446. // // 调用 (url就是文件的地址)
  447. this.$refs.fileView.open("http://192.168.110.83:8066/profile/2024/07/29/1_20240729181033A003.docx")
  448. },
  449. rendered(){
  450. console.log("6666")
  451. },
  452. // previewPdf(url) {
  453. //
  454. // },
  455. // openInNewTab(url) {
  456. // window.open(url, '_blank', 'noopener,noreferrer');
  457. // },
  458. //关闭文件上传
  459. handleCloseFileDialog(){
  460. this.upFileOpen=false;
  461. },
  462. //打开文件上传
  463. handleUpFileOpen(){
  464. this.upFileOpen=true
  465. this.upload.fileList=[];
  466. },
  467. submitFileForm(){
  468. },
  469. importTemplate(){
  470. console.log("dddddd")
  471. },
  472. /**文件上传成功*/
  473. handleFileSuccess(response, file, fileList) {
  474. this.upload.isUploading = false;
  475. let obj={
  476. name:response.fileNames,
  477. url:response.urls,
  478. //后台返回文件大小kb
  479. size:response.size,
  480. percentage:100
  481. }
  482. this.upload.upFilePath.push(obj);
  483. },
  484. // 文件上传中处理
  485. handleFileUploadProgress(event, file, fileList) {
  486. this.upload.isUploading = true;
  487. },
  488. // // 文件上传成功处理
  489. // handleFileSuccess(response, file, fileList) {
  490. // this.upload.open = false;
  491. // this.upload.isUploading = false;
  492. // this.$refs.upload.clearFiles();
  493. // this.$alert(
  494. // "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
  495. // response.msg +
  496. // "</div>",
  497. // "导入结果",
  498. // {dangerouslyUseHTMLString: true}
  499. // );
  500. // this.getList();
  501. // },
  502. // 表头筛选
  503. cascaderChangeFun(e) {
  504. this.optionsData = e
  505. this.$nextTick(() => {
  506. this.$refs['tableTree'].doLayout();
  507. });
  508. },
  509. /** 查询性能检测结果列表 */
  510. getList() {
  511. this.loading = true;
  512. listDetectionResult(this.queryParams).then(response => {
  513. this.detectionResultList = response.rows;
  514. this.total = response.total;
  515. this.loading = false;
  516. });
  517. },
  518. // 取消按钮
  519. cancel() {
  520. this.open = false;
  521. this.reset();
  522. },
  523. cancelSH() {
  524. this.open = false;
  525. this.reset();
  526. },
  527. // 表单重置
  528. reset() {
  529. this.form = {
  530. id: null,
  531. serialNumber: null,
  532. date: null,
  533. lotNumber: null,
  534. specification: null,
  535. alloyState: null,
  536. manufacturer: null,
  537. tensileValueMpa: null,
  538. rateOfElongation: null,
  539. fractureDeformation: null,
  540. maximumForce: null,
  541. tensileStrengthAvg: null,
  542. fractureForceRateAvg: null,
  543. repeatSurvey: null,
  544. productType: null,
  545. productionDirection: null,
  546. tensileValueMpaTwo: null,
  547. rateOfElongationTwo: null,
  548. standard: null,
  549. decisionResult: null,
  550. lslOne: null,
  551. usl: null,
  552. lsl2: null,
  553. inspector: null,
  554. performanceCreationTime: null,
  555. remark: null,
  556. createById: null,
  557. createBy: null,
  558. createTime: null,
  559. updateById: null,
  560. updateBy: null,
  561. updateTime: null,
  562. delFlag: null,
  563. dataApprovalStatus: null,
  564. processKey: null,
  565. taskProcessKey: null,
  566. taskNodeKey: null
  567. };
  568. this.resetForm("form");
  569. },
  570. /** 搜索按钮操作 */
  571. handleQuery() {
  572. this.queryParams.pageNum = 1;
  573. this.getList();
  574. },
  575. /** 重置按钮操作 */
  576. resetQuery() {
  577. this.resetForm("queryForm");
  578. this.handleQuery();
  579. },
  580. // 多选框选中数据
  581. handleSelectionChange(selection) {
  582. this.ids = selection.map(item => item.id)
  583. this.single = selection.length!==1
  584. this.multiple = !selection.length
  585. },
  586. /** 新增按钮操作 */
  587. handleAdd() {
  588. this.reset();
  589. this.open = true;
  590. this.title = "添加性能检测结果";
  591. },
  592. /** 修改按钮操作 */
  593. handleUpdate(row) {
  594. this.reset();
  595. const id = row.id || this.ids
  596. getDetectionResult(id).then(response => {
  597. this.form = response.data;
  598. this.open = true;
  599. this.title = "修改性能检测结果";
  600. });
  601. },
  602. /** 提交按钮 */
  603. submitForm() {
  604. this.$refs["form"].validate(valid => {
  605. if (valid) {
  606. if (this.form.id != null) {
  607. updateDetectionResult(this.form).then(response => {
  608. this.$modal.msgSuccess("修改成功");
  609. this.open = false;
  610. this.getList();
  611. });
  612. } else {
  613. addDetectionResult(this.form).then(response => {
  614. this.$modal.msgSuccess("新增成功");
  615. this.open = false;
  616. this.getList();
  617. });
  618. }
  619. }
  620. });
  621. },
  622. bgsh(row){
  623. this.shForm={
  624. "id":"",
  625. "dataApprovalStatus":""
  626. }
  627. const id = row.id || this.ids
  628. getDetectionResult(id).then(response => {
  629. this.shForm = response.data;
  630. if(this.shForm.dataApprovalStatus=="0"){
  631. this.shForm.dataApprovalStatus="1";
  632. }else if(this.shForm.dataApprovalStatus=="1"){
  633. this.shForm.dataApprovalStatus="2";
  634. }else if(this.shForm.dataApprovalStatus=="2"){
  635. this.shForm.dataApprovalStatus="1";
  636. }
  637. this.sHOpen = true;
  638. console.log(this.shForm)
  639. });
  640. },
  641. shSubmitForm(){
  642. updateDetectionResult(this.shForm).then(resp=>{
  643. if(resp.code==200){
  644. this.sHOpen = false;
  645. this.getList();
  646. this.$modal.msgSuccess("审批成功");
  647. }
  648. })
  649. },
  650. /** 删除按钮操作 */
  651. handleDelete(row) {
  652. const ids = row.id || this.ids;
  653. this.$modal.confirm('是否确认删除性能检测结果编号为"' + ids + '"的数据项?').then(function() {
  654. return delDetectionResult(ids);
  655. }).then(() => {
  656. this.getList();
  657. this.$modal.msgSuccess("删除成功");
  658. }).catch(() => {});
  659. },
  660. /** 导出按钮操作 */
  661. handleExport() {
  662. this.download('laboratory/detectionResult/export', {
  663. ...this.queryParams
  664. }, `detectionResult_${new Date().getTime()}.xlsx`)
  665. }
  666. }
  667. };
  668. </script>