赫艾前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1866 lines
64 KiB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
4 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. <template>
  2. <div class="mod-config">
  3. <!-- 条件查询 -->
  4. <el-form :inline="true" label-position="top" :model="searchData">
  5. <!-- <el-form-item :label="'BU'">-->
  6. <!-- <el-select v-model="searchData.buDesc" placeholder="请选择" clearable style="width: 80px">-->
  7. <!-- <el-option-->
  8. <!-- v-for = "i in userBuList"-->
  9. <!-- :key = "i.buNo"-->
  10. <!-- :label = "i.buDesc"-->
  11. <!-- :value = "i.buDesc">-->
  12. <!-- </el-option>-->
  13. <!-- </el-select>-->
  14. <!-- </el-form-item>-->
  15. <el-form-item :label="'工厂编码'">
  16. <el-input v-model="searchData.site" clearable style="width: 120px"></el-input>
  17. </el-form-item>
  18. <el-form-item :label="'模板编码'">
  19. <el-input v-model="searchData.templateId" clearable style="width: 120px"></el-input>
  20. </el-form-item>
  21. <el-form-item :label="'模板名称'">
  22. <el-input v-model="searchData.templateName" clearable style="width: 200px"></el-input>
  23. </el-form-item>
  24. <el-form-item label="检验类型">
  25. <el-select v-model="searchData.inspectionTypeNo" placeholder="请选择" style="width: 100px">
  26. <el-option label="全部" value=""></el-option>
  27. <el-option
  28. v-for = "i in options"
  29. :key = "i.inspectionTypeNo"
  30. :label = "i.inspectionTypeName"
  31. :value = "i.inspectionTypeNo">
  32. </el-option>
  33. </el-select>
  34. </el-form-item>
  35. <el-form-item :label="' '">
  36. <!-- <el-button @click="doEmpty()">清空</el-button>-->
  37. <el-button v-if="!authSearch" type="primary" @click="getDataList()">查询</el-button>
  38. <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
  39. </el-form-item>
  40. <el-form-item :label="' '">
  41. <el-button v-if="!authSave" type="primary" icon="el-icon-upload" @click="qcUpload()">导入</el-button>
  42. <download-excel
  43. :fields="fields()"
  44. :data="exportData"
  45. type="xls"
  46. :name="exportName"
  47. :header="exportHeader"
  48. :footer="exportFooter"
  49. :fetch="createExportData"
  50. :before-generate="startDownload"
  51. :before-finish="finishDownload"
  52. worksheet="导出信息"
  53. class="el-button el-button--primary el-button--medium">
  54. {{ "导出" }}
  55. </download-excel>
  56. </el-form-item>
  57. </el-form>
  58. <!-- 展示列表 -->
  59. <el-table
  60. :height="height"
  61. :data="dataList"
  62. border
  63. style="width: 100%;">
  64. <el-table-column
  65. v-for="(item,index) in columnList" :key="index"
  66. :sortable="item.columnSortable"
  67. :prop="item.columnProp"
  68. :header-align="item.headerAlign"
  69. :show-overflow-tooltip="item.showOverflowTooltip"
  70. :align="item.align"
  71. :fixed="item.fixed===''?false:item.fixed"
  72. :min-width="item.columnWidth"
  73. :label="item.columnLabel">
  74. <template slot-scope="scope">
  75. <span v-if="!item.columnHidden">
  76. <span v-if="columnsProp.includes(item.columnProp)">{{ scope.row[`${item.columnProp}Desc`] }}</span>
  77. <span v-else>
  78. {{ scope.row[item.columnProp] }}
  79. </span>
  80. </span>
  81. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  82. </template>
  83. </el-table-column>
  84. <el-table-column
  85. fixed="right"
  86. header-align="center"
  87. align="center"
  88. width="160"
  89. label="操作">
  90. <template slot-scope="scope">
  91. <a v-if="!authUpdate" type="text" size="small" @click="updateModal(scope.row)">编辑</a>
  92. <a v-if="!authDetail" type="text" size="small" @click="detailModal(scope.row)">检验项目</a>
  93. <a v-if="!authDelete" type="text" size="small" @click="deleteModel(scope.row)">删除</a>
  94. </template>
  95. </el-table-column>
  96. </el-table>
  97. <!-- 分页栏 -->
  98. <el-pagination
  99. @size-change="sizeChangeHandle"
  100. @current-change="currentChangeHandle"
  101. :current-page="pageIndex"
  102. :page-sizes="[20, 50, 100, 200, 500]"
  103. :page-size="pageSize"
  104. :total="totalPage"
  105. layout="total, sizes, prev, pager, next, jumper">
  106. </el-pagination>
  107. <!-- 检验模板新增/修改 -->
  108. <el-dialog title="检验模板" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px">
  109. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
  110. <!-- <el-form-item label="BU" prop="bu" :rules="rules.bu">-->
  111. <!-- <el-select v-model="modalData.bu" placeholder="请选择" :disabled="modalDisableFlag" style="width: 456px">-->
  112. <!-- <el-option-->
  113. <!-- v-for = "i in userBuList"-->
  114. <!-- :key = "i.buNo"-->
  115. <!-- :label = "i.sitename"-->
  116. <!-- :value = "i.buNo">-->
  117. <!-- <span style="float: left;width: 100px">{{ i.sitename }}</span>-->
  118. <!-- <span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">-->
  119. <!-- {{ i.buDesc }}-->
  120. <!-- </span>-->
  121. <!-- </el-option>-->
  122. <!-- </el-select>-->
  123. <!-- </el-form-item>-->
  124. <el-form-item label="工厂编码">
  125. <el-input v-model="modalData.site" disabled style="width: 221px"></el-input>
  126. </el-form-item>
  127. </el-form>
  128. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
  129. <el-form-item label="检验模板名称" prop="templateName" :rules="rules.templateNameType">
  130. <el-input v-model="modalData.templateName" style="width: 221px"></el-input>
  131. </el-form-item>
  132. <el-form-item label="检验类型" prop="inspectionTypeNo" :rules="rules.inspectionTypeNoType">
  133. <el-select v-model="modalData.inspectionTypeNo" placeholder="请选择" style="width: 221px">
  134. <el-option
  135. v-for = "i in options"
  136. :key = "i.inspectionTypeNo"
  137. :label = "i.inspectionTypeName"
  138. :value = "i.inspectionTypeNo">
  139. </el-option>
  140. </el-select>
  141. </el-form-item>
  142. </el-form>
  143. <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
  144. <el-form-item>
  145. <span slot="label" @click="getBaseList(207)"><a herf="#">抽样方案编码</a></span>
  146. <el-input v-model="modalData.samplingProgrammeNo" style="width: 221px"></el-input>
  147. </el-form-item>
  148. <el-form-item label="抽样方案名称">
  149. <el-input v-model="modalData.samplingProgrammeDesc" disabled style="width: 221px"></el-input>
  150. </el-form-item>
  151. </el-form>
  152. <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
  153. <el-form-item>
  154. <span slot="label" style="" @click="getBaseList(208)"><a herf="#">检验水平编码</a></span>
  155. <el-input v-model="modalData.samplingLevelNo" style="width: 221px"></el-input>
  156. </el-form-item>
  157. <el-form-item label="检验水平名称">
  158. <el-input v-model="modalData.samplingLevelDesc" disabled style="width: 221px"></el-input>
  159. </el-form-item>
  160. </el-form>
  161. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  162. <el-form-item label="检验完成时间(h)">
  163. <el-input v-model="modalData.inspectionCycle" type="number" style="width: 143px"></el-input>
  164. </el-form-item>
  165. <el-form-item label="默认抽样数量">
  166. <el-input v-model="modalData.defaultSamplingQuantity" type="number" style="width: 143px"></el-input>
  167. </el-form-item>
  168. <el-form-item label="默认抽样比例">
  169. <el-input v-model="modalData.defaultSamplingProportion" type="number" style="width: 143px"></el-input>
  170. </el-form-item>
  171. </el-form>
  172. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  173. <el-form-item label="AQL:">
  174. <el-input v-model="modalData.aql" type="number" style="width: 143px"></el-input>
  175. </el-form-item>
  176. <el-form-item label="AC:">
  177. <el-input v-model="modalData.ac" type="number" style="width: 143px"></el-input>
  178. </el-form-item>
  179. <el-form-item label="RE:">
  180. <el-input v-model="modalData.re" type="number" style="width: 143px"></el-input>
  181. </el-form-item>
  182. </el-form>
  183. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  184. <el-form-item label="版本号">
  185. <el-input v-model="modalData.templateVersion" :disabled="modalDisableFlag" style="width: 221px"></el-input>
  186. </el-form-item>
  187. <el-form-item label="检验模板备注">
  188. <el-input v-model="modalData.templateRemark" style="width: 221px"></el-input>
  189. </el-form-item>
  190. </el-form>
  191. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  192. <el-button type="primary" @click="saveData()">保存</el-button>
  193. <el-button type="primary" @click="modalFlag = false">关闭</el-button>
  194. </el-footer>
  195. </el-dialog>
  196. <!-- 检验项目 -->
  197. <el-dialog title="检验项目清单" @close="closeDialog" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="940px">
  198. <el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
  199. <el-form-item :label="'检验模板编码'">
  200. <el-input v-model="detailData.templateId" readonly style="width: 120px"></el-input>
  201. </el-form-item>
  202. <el-form-item :label="'检验模板名称'">
  203. <el-input v-model="detailData.templateName" readonly style="width: 240px"></el-input>
  204. </el-form-item>
  205. <el-form-item :label="' '">
  206. <el-button type="primary" @click="addFastModal()">新增</el-button>
  207. <el-button type="primary" @click="goUp()">上移</el-button>
  208. <el-button type="primary" @click="goDown()">下移</el-button>
  209. </el-form-item>
  210. </el-form>
  211. <!-- 检验项目展示列表 -->
  212. <div class="rq ">
  213. <el-table
  214. :height="400"
  215. :data="detailList"
  216. @row-click="itemClickRow"
  217. ref="detailTable"
  218. highlight-current-row
  219. border
  220. style="width: 100%;">
  221. <el-table-column
  222. v-for="(item,index) in columnDetailList" :key="index"
  223. :sortable="item.columnSortable"
  224. :prop="item.columnProp"
  225. :header-align="item.headerAlign"
  226. :show-overflow-tooltip="item.showOverflowTooltip"
  227. :align="item.align"
  228. :fixed="item.fixed===''?false:item.fixed"
  229. :min-width="item.columnWidth"
  230. :label="item.columnLabel">
  231. <template slot-scope="scope">
  232. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  233. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  234. </template>
  235. </el-table-column>
  236. <el-table-column
  237. prop=""
  238. header-align="center"
  239. align="right"
  240. min-width="60"
  241. label="标准值">
  242. <template slot-scope="scope">
  243. <el-input v-model="scope.row.defaultValue" style="height: 11px;width:98%"></el-input>
  244. </template>
  245. </el-table-column>
  246. <el-table-column
  247. prop=""
  248. header-align="center"
  249. align="right"
  250. min-width="60"
  251. label="最大值">
  252. <template slot-scope="scope">
  253. <el-input v-if="scope.row.valueTypeDb === 'T'" v-model="scope.row.maxValue" disabled style="height: 11px;width:98%"></el-input>
  254. <el-input v-else v-model="scope.row.maxValue" style="height: 11px;width:98%"></el-input>
  255. </template>
  256. </el-table-column>
  257. <el-table-column
  258. prop=""
  259. header-align="center"
  260. align="right"
  261. min-width="60"
  262. label="最小值">
  263. <template slot-scope="scope">
  264. <el-input v-if="scope.row.valueTypeDb === 'T'" v-model="scope.row.minValue" disabled style="height: 11px;width:98%"></el-input>
  265. <el-input v-else v-model="scope.row.minValue" style="height: 11px;width:98%"></el-input>
  266. </template>
  267. </el-table-column>
  268. <!-- <el-table-column-->
  269. <!-- prop=""-->
  270. <!-- header-align="center"-->
  271. <!-- align="right"-->
  272. <!-- width="220"-->
  273. <!-- label="检验设备">-->
  274. <!-- <template slot-scope="scope">-->
  275. <!-- <el-autocomplete-->
  276. <!-- clearable-->
  277. <!-- class="inline-input"-->
  278. <!-- popper-class="el-autocomplete-suggestion"-->
  279. <!-- v-model="scope.row.objectID"-->
  280. <!-- value-key="idAndDesc"-->
  281. <!-- :fetch-suggestions="FilterEntityName"-->
  282. <!-- :trigger-on-focus="true"-->
  283. <!-- placeholder="请选择设备"-->
  284. <!-- @clear="blurForBug()"-->
  285. <!-- @select="handleSelect"-->
  286. <!-- :popper-append-to-body="false"-->
  287. <!-- style="width: 210px">-->
  288. <!-- </el-autocomplete>-->
  289. <!-- </template>-->
  290. <!-- </el-table-column>-->
  291. <el-table-column
  292. fixed="right"
  293. header-align="center"
  294. align="center"
  295. width="130"
  296. label="操作">
  297. <template slot-scope="scope">
  298. <a v-if="scope.row.valueTypeDb === 'N'" type="text" size="small" @click="inspectionStandardModal(scope.row)">判定标准</a>
  299. <a type="text" size="small" @click="delItemDetails(scope.row)">删除项目</a>
  300. </template>
  301. </el-table-column>
  302. </el-table>
  303. </div>
  304. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  305. <el-button type="primary" @click="saveDetail()">保存</el-button>
  306. <el-button type="primary" @click="detailModelFlag = false">关闭</el-button>
  307. </el-footer>
  308. </el-dialog>
  309. <!-- 检验标准配置 -->
  310. <el-dialog title="检验标准" :close-on-click-modal="false" v-drag :visible.sync="inspectionStandardModalFlag" width="811px">
  311. <el-button type="success" icon="el-icon-plus" size="mini" @click="handleAddBtn">添加</el-button>
  312. <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBtn">删除</el-button>
  313. <div class="rq ">
  314. <el-table
  315. :height="300"
  316. :data="tableData"
  317. border
  318. :row-class-name="rowClassName"
  319. @selection-change="handleDetailSelectionChange"
  320. style="width: 100%;">
  321. <el-table-column type="selection" align="center" width="50"></el-table-column>
  322. <el-table-column label="序号" align="center" prop="seqNo" width="50"></el-table-column>
  323. <el-table-column prop="collectionSource" header-align="center" align="center" :required="true" label="采集数据来源" width="150">
  324. <template slot-scope="{row}">
  325. <el-select v-model="tableData[row.xh-1].collectionSource" clearable style="width: 140px">
  326. <el-option label="采集数据01" value="value0"></el-option>
  327. <el-option label="采集数据02" value="value1"></el-option>
  328. <el-option label="采集数据03" value="value2"></el-option>
  329. <el-option label="采集数据04" value="value3"></el-option>
  330. <el-option label="采集数据05" value="value4"></el-option>
  331. <el-option label="采集数据06" value="value5"></el-option>
  332. <el-option label="采集数据07" value="value6"></el-option>
  333. <el-option label="采集数据08" value="value7"></el-option>
  334. <el-option label="采集数据09" value="value8"></el-option>
  335. <el-option label="采集数据10" value="value9"></el-option>
  336. </el-select>
  337. </template>
  338. </el-table-column>
  339. <el-table-column prop="defaultValue" header-align="center" align="center" :required="true" label="标准值" width="150">
  340. <template slot-scope="{row}">
  341. <el-input :ref="`${row.xh-1}` + `a`" v-model="tableData[row.xh-1].defaultValue" @keyup.enter.native="nextFocus1(row.xh-1)" placeholder="请输入默认值"></el-input>
  342. </template>
  343. </el-table-column>
  344. <el-table-column prop="maxValue" header-align="center" align="center" :required="true" label="最大值" width="150">
  345. <template slot-scope="{row}">
  346. <el-input :ref="`${row.xh-1}` + `b`" v-model="tableData[row.xh-1].maxValue" @keyup.enter.native="nextFocus2(row.xh-1)" placeholder="请输入最大值"></el-input>
  347. </template>
  348. </el-table-column>
  349. <el-table-column prop="minValue" header-align="center" align="center" :required="true" label="最小值" width="150">
  350. <template slot-scope="{row}">
  351. <el-input :ref="`${row.xh-1}` + `c`" v-model="tableData[row.xh-1].minValue" @keyup.enter.native="nextFocus3(row.xh-1)" placeholder="请输入最小值"></el-input>
  352. </template>
  353. </el-table-column>
  354. <el-table-column prop="condition" header-align="center" align="center" :required="true" label="判断条件" width="90">
  355. <template slot-scope="{row}">
  356. <el-select v-model="tableData[row.xh-1].condition" clearable style="width: 80px">
  357. <el-option label="并且" value="&&"></el-option>
  358. <el-option label="或者" value="||"></el-option>
  359. </el-select>
  360. </template>
  361. </el-table-column>
  362. </el-table>
  363. </div>
  364. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  365. <el-button type="primary" @click="saveInspectionStandard">保存</el-button>
  366. <el-button type="primary" @click="inspectionStandardModalFlag = false">关闭</el-button>
  367. </el-footer>
  368. </el-dialog>
  369. <!-- 检验项目->快速新增 -->
  370. <el-dialog title="新增" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="1100px">
  371. <div style="font-size: 12px">
  372. <el-form :inline="true" label-position="top" :model="detailData">
  373. <el-form-item :label="'项目编码'">
  374. <el-input v-model="detailData.itemNo" clearable style="width: 120px"></el-input>
  375. </el-form-item>
  376. <el-form-item :label="'项目名称'">
  377. <el-input v-model="detailData.itemDesc" clearable style="width: 200px"></el-input>
  378. </el-form-item>
  379. <!-- <el-form-item label="检验类型">-->
  380. <!-- <el-select v-model="detailData.inspectionTypeNo" clearable placeholder="请选择" style="width: 120px">-->
  381. <!-- <el-option-->
  382. <!-- v-for = "i in options"-->
  383. <!-- :key = "i.inspectionTypeNo"-->
  384. <!-- :label = "i.inspectionTypeName"-->
  385. <!-- :value = "i.inspectionTypeNo">-->
  386. <!-- </el-option>-->
  387. <!-- </el-select>-->
  388. <!-- </el-form-item>-->
  389. <el-form-item :label="' '">
  390. <el-button type="primary" @click="getItem()">查询</el-button>
  391. </el-form-item>
  392. </el-form>
  393. </div>
  394. <el-container style="margin-top: 0px;">
  395. <el-main style="width: 720px; padding: 1px">
  396. <span style="font-size: 12px" >可选项目:</span>
  397. <el-table
  398. height="400px"
  399. :data="itemList1"
  400. border
  401. ref="itemTable1"
  402. @row-click="itemClickRow1"
  403. @selection-change="selectionItem1"
  404. highlight-current-row
  405. style="width: 100%">
  406. <el-table-column
  407. type="selection"
  408. header-align="center"
  409. align="center"
  410. :selectable="selectFlag"
  411. width="50">
  412. </el-table-column>
  413. <el-table-column
  414. prop="itemNo"
  415. header-align="center"
  416. align="center"
  417. min-width="80"
  418. label="项目编码">
  419. </el-table-column>
  420. <el-table-column
  421. prop="itemDesc"
  422. header-align="center"
  423. align="center"
  424. min-width="120"
  425. label="项目名称">
  426. </el-table-column>
  427. <el-table-column
  428. prop="defaultValue"
  429. header-align="center"
  430. align="center"
  431. min-width="100"
  432. label="标准值">
  433. </el-table-column>
  434. <el-table-column
  435. prop="maxValue"
  436. header-align="center"
  437. align="center"
  438. min-width="60"
  439. label="最大值">
  440. </el-table-column>
  441. <el-table-column
  442. prop="minValue"
  443. header-align="center"
  444. align="center"
  445. min-width="60"
  446. label="最小值">
  447. </el-table-column>
  448. </el-table>
  449. </el-main>
  450. <el-main style="width: 111px;padding: 1px">
  451. <div style="margin-top: 182px;margin-left: 18px">
  452. <el-button type="primary" @click="addItem()">添加>></el-button>
  453. </div>
  454. <div style="margin-top: 15px;margin-left: 18px">
  455. <el-button type="primary" @click="deleteItem()">删除<<</el-button>
  456. </div>
  457. </el-main>
  458. <el-main style="width: 400px;padding: 1px">
  459. <span style="font-size: 12px" >已有项目:</span>
  460. <el-table
  461. height="400px"
  462. :data="itemList2"
  463. border
  464. ref="itemTable2"
  465. @row-click="itemClickRow2"
  466. @selection-change="selectionItem2"
  467. highlight-current-row
  468. style="width: 100%">
  469. <el-table-column
  470. type="selection"
  471. header-align="center"
  472. align="center"
  473. :selectable="selectFlag"
  474. width="50">
  475. </el-table-column>
  476. <el-table-column
  477. prop="itemNo"
  478. header-align="center"
  479. align="center"
  480. min-width="80"
  481. label="项目编码">
  482. </el-table-column>
  483. <el-table-column
  484. prop="itemDesc"
  485. header-align="center"
  486. align="center"
  487. min-width="200"
  488. label="项目名称">
  489. </el-table-column>
  490. </el-table>
  491. </el-main>
  492. </el-container>
  493. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  494. <el-button type="primary" @click="fastAddFlag = false">关闭</el-button>
  495. </el-footer>
  496. </el-dialog>
  497. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  498. <!-- 导入 -->
  499. <qcUpload ref="qcUpload" @refreshPageTables="getDataList()" v-drag></qcUpload>
  500. </div>
  501. </template>
  502. <script>
  503. import {
  504. templateSearch, // 查询模板
  505. templateSave, // 新增模板
  506. templateUpdate, // 修改模板
  507. templateDelete, // 删除模板
  508. inspectionTypeSearch, // 搜索所有检验类型
  509. objectSearch, // 搜索所有设备
  510. templateDetailsSearch, // 查询明细列表
  511. addItemDetails, // 新增项目的检验明细
  512. getItemList, // 获取明细列表
  513. delItemDetails, // 删除项目的检验明细
  514. saveItemDetailed, // 新增项目明细的最大最小值
  515. getItem, // 查询检验项目
  516. getSiteAndBuByUserName,
  517. getInspectionStandards, // 获取检验标准
  518. saveInspectionStandard, // 新增检验标准
  519. goUpItemQC, // 上移项目位置
  520. goDownItemQC,// 下移项目位置
  521. } from "@/api/qc/qc.js"
  522. import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js"
  523. import Chooselist from '@/views/modules/common/Chooselist_eam'
  524. import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
  525. import qcUpload from "./qc_upload";
  526. export default {
  527. components: {
  528. Chooselist,
  529. qcUpload
  530. },
  531. data () {
  532. return {
  533. columnsProp:['createBy', 'updateBy'],
  534. // 是否收藏
  535. favorite: false,
  536. // 导出 start
  537. exportData: [],
  538. exportName: "根据物料设置检验模板" + this.dayjs().format('YYYYMMDDHHmmss'),
  539. exportHeader: ["根据物料设置检验模板"],
  540. exportFooter: [],
  541. exportList: [],
  542. // 导出 end
  543. tagNo: '',
  544. searchData: {
  545. site: '',
  546. userName: this.$store.state.user.name,
  547. templateId: '',
  548. templateName: '',
  549. inspectionTypeNo: '',
  550. buDesc: '',
  551. page: 1,
  552. limit: 10,
  553. },
  554. options: [],
  555. objects: [],
  556. height: 200,
  557. pageIndex: 1,
  558. pageSize: 20,
  559. totalPage: 0,
  560. modalFlag: false,
  561. modalDisableFlag: false,
  562. modalData: {
  563. flag: '',
  564. site: '',
  565. bu: '',
  566. templateId: '',
  567. templateName: '',
  568. templateRemark: '',
  569. templateType: '',
  570. templateVersion: '',
  571. samplingProgrammeNo: '',
  572. samplingProgrammeDesc: '',
  573. inspectionTypeNo: '',
  574. inspectionCycle: '',
  575. createTime: '',
  576. createBy: this.$store.state.user.name,
  577. updateBy: this.$store.state.user.name,
  578. samplingLevelNo: '',
  579. samplingLevelDesc: '',
  580. aql: '',
  581. ac: '',
  582. re: '',
  583. defaultSamplingQuantity: '',
  584. defaultSamplingProportion: '',
  585. },
  586. detailData: {
  587. site: '',
  588. buNo: '',
  589. templateId: '',
  590. templateName: '',
  591. templateRemark: '',
  592. templateType: '',
  593. templateVersion: '',
  594. samplingProgrammeNo: '',
  595. samplingProgrammeDesc: '',
  596. inspectionTypeNo: '',
  597. inspectionCycle: '',
  598. inspectionTypeName: '',
  599. createTime: '',
  600. createBy: this.$store.state.user.name,
  601. samplingLevelNo: '',
  602. samplingLevelDesc: '',
  603. aql: '',
  604. ac: '',
  605. re: '',
  606. itemNo: '',
  607. itemDesc: '',
  608. itemType: 'D',
  609. },
  610. columnList: [
  611. {
  612. userId: this.$store.state.user.name,
  613. functionId: 301008,
  614. serialNumber: '301008TableSite',
  615. tableId: "301008Table",
  616. tableName: "检验模板维护表",
  617. columnProp: 'site',
  618. headerAlign: "center",
  619. align: "center",
  620. columnLabel: '工厂编码',
  621. columnHidden: false,
  622. columnImage: false,
  623. columnSortable: false,
  624. sortLv: 0,
  625. status: true,
  626. fixed: '',
  627. columnWidth: 100,
  628. },
  629. {
  630. userId: this.$store.state.user.name,
  631. functionId: 301008,
  632. serialNumber: '301008TableItemNo',
  633. tableId: "301008Table",
  634. tableName: "检验模板维护表",
  635. columnProp: 'templateId',
  636. headerAlign: "center",
  637. align: "center",
  638. columnLabel: '检验模板编码',
  639. columnHidden: false,
  640. columnImage: false,
  641. columnSortable: false,
  642. sortLv: 0,
  643. status: true,
  644. fixed: '',
  645. columnWidth: 120,
  646. },
  647. {
  648. userId: this.$store.state.user.name,
  649. functionId: 301008,
  650. serialNumber: '301008TableItemNo',
  651. tableId: "301008Table",
  652. tableName: "检验模板维护表",
  653. columnProp: 'templateName',
  654. headerAlign: "center",
  655. align: "left",
  656. columnLabel: '检验模板名称',
  657. columnHidden: false,
  658. columnImage: false,
  659. columnSortable: false,
  660. sortLv: 0,
  661. status: true,
  662. fixed: '',
  663. columnWidth: 200,
  664. },
  665. {
  666. userId: this.$store.state.user.name,
  667. functionId: 301008,
  668. serialNumber: '301008TableItemNo',
  669. tableId: "301008Table",
  670. tableName: "检验模板维护表",
  671. columnProp: 'samplingProgrammeDesc',
  672. headerAlign: "center",
  673. align: "left",
  674. columnLabel: '抽样方案',
  675. columnHidden: false,
  676. columnImage: false,
  677. columnSortable: false,
  678. sortLv: 0,
  679. status: true,
  680. fixed: '',
  681. columnWidth: 120,
  682. },
  683. {
  684. userId: this.$store.state.user.name,
  685. functionId: 301008,
  686. serialNumber: '301008TableItemNo',
  687. tableId: "301008Table",
  688. tableName: "检验模板维护表",
  689. columnProp: 'samplingLevelDesc',
  690. headerAlign: "center",
  691. align: "left",
  692. columnLabel: '检验水平',
  693. columnHidden: false,
  694. columnImage: false,
  695. columnSortable: false,
  696. sortLv: 0,
  697. status: true,
  698. fixed: '',
  699. columnWidth: 120,
  700. },
  701. {
  702. userId: this.$store.state.user.name,
  703. functionId: 301008,
  704. serialNumber: '301008TableItemNo',
  705. tableId: "301008Table",
  706. tableName: "检验模板维护表",
  707. columnProp: 'inspectionCycle',
  708. headerAlign: "center",
  709. align: "right",
  710. columnLabel: '检验周期(h)',
  711. columnHidden: false,
  712. columnImage: false,
  713. columnSortable: false,
  714. sortLv: 0,
  715. status: true,
  716. fixed: '',
  717. columnWidth: 100,
  718. },
  719. {
  720. userId: this.$store.state.user.name,
  721. functionId: 301008,
  722. serialNumber: '301008TableItemNo',
  723. tableId: "301008Table",
  724. tableName: "检验模板维护表",
  725. columnProp: 'defaultSamplingQuantity',
  726. headerAlign: "center",
  727. align: "right",
  728. columnLabel: '默认抽样数量',
  729. columnHidden: false,
  730. columnImage: false,
  731. columnSortable: false,
  732. sortLv: 0,
  733. status: true,
  734. fixed: '',
  735. columnWidth: 100,
  736. },
  737. {
  738. userId: this.$store.state.user.name,
  739. functionId: 301008,
  740. serialNumber: '301008TableItemNo',
  741. tableId: "301008Table",
  742. tableName: "检验模板维护表",
  743. columnProp: 'defaultSamplingProportion',
  744. headerAlign: "center",
  745. align: "right",
  746. columnLabel: '默认抽样比例',
  747. columnHidden: false,
  748. columnImage: false,
  749. columnSortable: false,
  750. sortLv: 0,
  751. status: true,
  752. fixed: '',
  753. columnWidth: 100,
  754. },
  755. {
  756. userId: this.$store.state.user.name,
  757. functionId: 301008,
  758. serialNumber: '301008TableItemNo',
  759. tableId: "301008Table",
  760. tableName: "检验模板维护表",
  761. columnProp: 'aql',
  762. headerAlign: "center",
  763. align: "right",
  764. columnLabel: 'AQL',
  765. columnHidden: false,
  766. columnImage: false,
  767. columnSortable: false,
  768. sortLv: 0,
  769. status: true,
  770. fixed: '',
  771. columnWidth: 100,
  772. },
  773. {
  774. userId: this.$store.state.user.name,
  775. functionId: 301008,
  776. serialNumber: '301008TableItemNo',
  777. tableId: "301008Table",
  778. tableName: "检验模板维护表",
  779. columnProp: 'ac',
  780. headerAlign: "center",
  781. align: "right",
  782. columnLabel: 'AC',
  783. columnHidden: false,
  784. columnImage: false,
  785. columnSortable: false,
  786. sortLv: 0,
  787. status: true,
  788. fixed: '',
  789. columnWidth: 100,
  790. },
  791. {
  792. userId: this.$store.state.user.name,
  793. functionId: 301008,
  794. serialNumber: '301008TableItemNo',
  795. tableId: "301008Table",
  796. tableName: "检验模板维护表",
  797. columnProp: 're',
  798. headerAlign: "center",
  799. align: "right",
  800. columnLabel: 'RE',
  801. columnHidden: false,
  802. columnImage: false,
  803. columnSortable: false,
  804. sortLv: 0,
  805. status: true,
  806. fixed: '',
  807. columnWidth: 100,
  808. },
  809. {
  810. userId: this.$store.state.user.name,
  811. functionId: 301008,
  812. serialNumber: '301008TableItemNo',
  813. tableId: "301008Table",
  814. tableName: "检验模板维护表",
  815. columnProp: 'inspectionTypeName',
  816. headerAlign: "center",
  817. align: "center",
  818. columnLabel: '检验类型',
  819. columnHidden: false,
  820. columnImage: false,
  821. columnSortable: false,
  822. sortLv: 0,
  823. status: true,
  824. fixed: '',
  825. columnWidth: 100,
  826. },
  827. {
  828. userId: this.$store.state.user.name,
  829. functionId: 301008,
  830. serialNumber: '301008TableItemNo',
  831. tableId: "301008Table",
  832. tableName: "检验模板维护表",
  833. columnProp: 'templateRemark',
  834. headerAlign: "center",
  835. align: "left",
  836. columnLabel: '检验模板备注',
  837. columnHidden: false,
  838. columnImage: false,
  839. columnSortable: false,
  840. sortLv: 0,
  841. status: true,
  842. fixed: '',
  843. columnWidth: 200,
  844. },
  845. {
  846. userId: this.$store.state.user.name,
  847. functionId: 301008,
  848. serialNumber: '301008TableItemNo',
  849. tableId: "301008Table",
  850. tableName: "检验模板维护表",
  851. columnProp: 'templateVersion',
  852. headerAlign: "center",
  853. align: "center",
  854. columnLabel: '版本号',
  855. columnHidden: false,
  856. columnImage: false,
  857. columnSortable: false,
  858. sortLv: 0,
  859. status: true,
  860. fixed: '',
  861. columnWidth: 100,
  862. },
  863. {
  864. userId: this.$store.state.user.name,
  865. functionId: 301008,
  866. serialNumber: '301008TableItemNo',
  867. tableId: "301008Table",
  868. tableName: "检验模板维护表",
  869. columnProp: 'createTime',
  870. headerAlign: "center",
  871. align: "center",
  872. columnLabel: '创建时间',
  873. columnHidden: false,
  874. columnImage: false,
  875. columnSortable: false,
  876. sortLv: 0,
  877. status: true,
  878. fixed: '',
  879. columnWidth: 170,
  880. },
  881. {
  882. userId: this.$store.state.user.name,
  883. functionId: 301008,
  884. serialNumber: '301008TableItemNo',
  885. tableId: "301008Table",
  886. tableName: "检验模板维护表",
  887. columnProp: 'createBy',
  888. headerAlign: "center",
  889. align: "center",
  890. columnLabel: '创建人',
  891. columnHidden: false,
  892. columnImage: false,
  893. columnSortable: false,
  894. sortLv: 0,
  895. status: true,
  896. fixed: '',
  897. columnWidth: 100,
  898. },
  899. {
  900. userId: this.$store.state.user.name,
  901. functionId: 301008,
  902. serialNumber: '301008TableItemNo',
  903. tableId: "301008Table",
  904. tableName: "检验模板维护表",
  905. columnProp: 'updateDate',
  906. headerAlign: 'center',
  907. align: 'center',
  908. columnLabel: '更新时间',
  909. columnHidden: false,
  910. columnImage: false,
  911. columnSortable: false,
  912. sortLv: 0,
  913. status: true,
  914. fixed: '',
  915. columnWidth: 170,
  916. },
  917. {
  918. userId: this.$store.state.user.name,
  919. functionId: 301008,
  920. serialNumber: '301008TableItemNo',
  921. tableId: "301008Table",
  922. tableName: "检验模板维护表",
  923. columnProp: 'updateBy',
  924. headerAlign: 'center',
  925. align: 'center',
  926. columnLabel: '更新人',
  927. columnHidden: false,
  928. columnImage: false,
  929. columnSortable: false,
  930. sortLv: 0,
  931. status: true,
  932. fixed: '',
  933. columnWidth: 100,
  934. },
  935. ],
  936. detailModelFlag: false,
  937. detailList: [],
  938. dataList: [],
  939. // 展示列集
  940. columnDetailList: [
  941. {
  942. columnProp: 'itemNo',
  943. headerAlign: "center",
  944. align: "center",
  945. columnLabel: '检验项目编码',
  946. columnHidden: false,
  947. columnImage: false,
  948. columnSortable: false,
  949. sortLv: 0,
  950. status: true,
  951. fixed: '',
  952. columnWidth: 60
  953. },
  954. {
  955. columnProp: 'itemDesc',
  956. headerAlign: "center",
  957. align: "left",
  958. columnLabel: '检验项目名称',
  959. columnHidden: false,
  960. columnImage: false,
  961. columnSortable: false,
  962. sortLv: 0,
  963. status: true,
  964. fixed: '',
  965. columnWidth: 250
  966. },
  967. {
  968. columnProp: 'valueType',
  969. headerAlign: "center",
  970. align: "center",
  971. columnLabel: '检测值类型',
  972. columnHidden: false,
  973. columnImage: false,
  974. columnSortable: false,
  975. sortLv: 0,
  976. status: true,
  977. fixed: '',
  978. columnWidth: 60
  979. },
  980. ],
  981. // 快速添加
  982. fastAddFlag: false,
  983. itemList1: [],
  984. itemList2: [],
  985. itemListRow1: {},
  986. itemListRow2: {},
  987. itemSelections1: [],
  988. itemSelections2: [],
  989. searchForm: {
  990. objectID: '',
  991. objectDesc: ''
  992. },
  993. currentRow:{
  994. },
  995. rules: {
  996. templateNameType: [
  997. {
  998. required: true,
  999. message: ' ',
  1000. trigger: ['blur','change']
  1001. }
  1002. ],
  1003. inspectionTypeNoType: [
  1004. {
  1005. required: true,
  1006. message: ' ',
  1007. trigger: ['blur','change']
  1008. }
  1009. ],
  1010. bu: [
  1011. {
  1012. required: true,
  1013. message: ' ',
  1014. trigger: ['blur','change']
  1015. }
  1016. ]
  1017. },
  1018. userBuList: [],
  1019. authSearch: false,
  1020. authSave: false,
  1021. authUpdate: false,
  1022. authDelete: false,
  1023. authDetail: false,
  1024. menuId: this.$route.meta.menuId,
  1025. inspectionStandardModalFlag: false,
  1026. standardData: {
  1027. site: '',
  1028. buNo: '',
  1029. templateId: '',
  1030. itemNo: '',
  1031. standardList: []
  1032. },
  1033. tableData: [],
  1034. checkedDetail: [],
  1035. }
  1036. },
  1037. mounted () {
  1038. this.$nextTick(() => {
  1039. this.height = window.innerHeight - 180
  1040. })
  1041. },
  1042. created () {
  1043. // 按钮控制
  1044. this.getButtonAuthData()
  1045. // 获取用户的 site 和 bu
  1046. // this.getSiteAndBuByUserName()
  1047. // 校验用户是否收藏
  1048. // this.favoriteIsOk()
  1049. // 获取检验类型
  1050. this.inspectionTypeSearch()
  1051. // 动态列
  1052. // this.getTableUserColumn(this.$route.meta.menuId+'table',1)
  1053. if (!this.authSearch) {
  1054. // 获取数据列表
  1055. this.getDataList()
  1056. }
  1057. },
  1058. methods: {
  1059. // 设置检验清单
  1060. inspectionStandardModal (row) {
  1061. this.standardData = {
  1062. site: row.site,
  1063. buNo: row.buNo,
  1064. templateId: row.templateId,
  1065. itemNo: row.itemNo,
  1066. standardList: []
  1067. }
  1068. getInspectionStandards(this.standardData).then(({data}) => {
  1069. if (data.code === 0) {
  1070. this.tableData = data.rows
  1071. } else {
  1072. this.tableData = []
  1073. }
  1074. })
  1075. this.inspectionStandardModalFlag = true
  1076. },
  1077. //表格的新增
  1078. rowClassName ({ row, rowIndex }) {
  1079. row.xh = rowIndex + 1
  1080. row.seqNo = rowIndex + 1
  1081. },
  1082. //单选框选中数据
  1083. handleDetailSelectionChange (selection) {
  1084. this.checkedDetail = selection
  1085. },
  1086. // 点击新增
  1087. handleAddBtn () {
  1088. let obj = {
  1089. seqNo: '',
  1090. collectionSource: '',
  1091. defaultValue: '',
  1092. minValue: '',
  1093. maxValue: '',
  1094. condition: ''
  1095. }
  1096. this.tableData.push(obj)
  1097. },
  1098. //删除
  1099. handleDeleteBtn () {
  1100. if (this.checkedDetail.length === 0) {
  1101. this.$alert("请先选择要删除的数据", "提示", {
  1102. confirmButtonText: "确定",
  1103. })
  1104. } else {
  1105. this.$confirm("请是否确认删除该检验标准?", "提示", {
  1106. confirmButtonText: "确定",
  1107. cancelButtonText: "取消",
  1108. type: "warning",
  1109. callback: (action) => {
  1110. if (action === "confirm") {
  1111. let val = this.checkedDetail
  1112. val.forEach((val, index) => {
  1113. this.tableData.forEach((v, i) => {
  1114. if (val.xh === v.xh) {
  1115. this.tableData.splice(i, 1)
  1116. }
  1117. })
  1118. })
  1119. this.$message({
  1120. message: "删除成功!",
  1121. type: "success",
  1122. })
  1123. return
  1124. } else {
  1125. this.$message({
  1126. message: "已取消删除操作",
  1127. type: "warning",
  1128. })
  1129. return
  1130. }
  1131. },
  1132. })
  1133. }
  1134. },
  1135. // 回车事件
  1136. nextFocus1 (index) {
  1137. let a1 = `${index + 1}` + `a`
  1138. this.$nextTick(() => {
  1139. this.$refs[a1].focus()
  1140. })
  1141. },
  1142. nextFocus2 (index) {
  1143. let a2 = `${index + 1}` + `b`
  1144. this.$nextTick(() => {
  1145. this.$refs[a2].focus()
  1146. })
  1147. },
  1148. nextFocus3 (index) {
  1149. let a3 = `${index + 1}` + `c`
  1150. this.$nextTick(() => {
  1151. this.$refs[a3].focus()
  1152. })
  1153. },
  1154. // 新增检验标准
  1155. saveInspectionStandard () {
  1156. this.standardData.standardList = this.tableData
  1157. saveInspectionStandard(this.standardData).then(({data}) => {
  1158. if (data && data.code === 0) {
  1159. this.inspectionStandardModalFlag = false
  1160. this.tableData = []
  1161. this.$message({
  1162. message: '操作成功',
  1163. type: 'success',
  1164. duration: 1500,
  1165. onClose: () => {}
  1166. })
  1167. } else {
  1168. this.$alert(data.msg, '错误', {
  1169. confirmButtonText: '确定'
  1170. })
  1171. }
  1172. })
  1173. },
  1174. // 获取用户的bu
  1175. // getSiteAndBuByUserName () {
  1176. // let tempData = {
  1177. // username: this.$store.state.user.name,
  1178. // }
  1179. // getSiteAndBuByUserName(tempData).then(({data}) => {
  1180. // if (data.code === 0) {
  1181. // this.userBuList = data.rows
  1182. // }
  1183. // })
  1184. // },
  1185. /**
  1186. * 查询检验项目
  1187. */
  1188. getItem () {
  1189. getItem(this.detailData).then(({data}) => {
  1190. if (data.code === 0) {
  1191. this.itemList1 = data.rows
  1192. }
  1193. })
  1194. },
  1195. // 查询检验类型
  1196. inspectionTypeSearch () {
  1197. let tempData = {
  1198. site: this.$store.state.user.site
  1199. }
  1200. inspectionTypeSearch(tempData).then(({data}) => {
  1201. if (data.code === 0) {
  1202. this.options = data.rows
  1203. }
  1204. })
  1205. },
  1206. // 查询设备
  1207. objectSearch () {
  1208. let tempData = {
  1209. site: this.detailData.site,
  1210. buNo: this.detailData.buNo
  1211. }
  1212. objectSearch(tempData).then(({data}) => {
  1213. if (data.code === 0) {
  1214. this.objects = data.rows
  1215. }
  1216. })
  1217. },
  1218. // 客户
  1219. FilterEntityName (queryString, cb) {
  1220. let objects2 = this.objects
  1221. let results = queryString ? objects2.filter(this.createFilter(queryString)) : objects2
  1222. // 调用 callback 返回建议列表的数据
  1223. cb(results)
  1224. },
  1225. // 只要该输入内容的都匹配
  1226. createFilter (queryString) {
  1227. return (res) => {
  1228. return (res.idAndDesc.toLowerCase().indexOf(queryString.toLowerCase()) !== -1)
  1229. }
  1230. },
  1231. // 最终选择的数据
  1232. handleSelect (val) {
  1233. // this.searchForm.objectID = val.objectID
  1234. },
  1235. // 点击clearable清空小图标按钮以后,继续重新在输入框中输入数据,querySearch会触发,但是cb函数不会触发
  1236. // 这样的话就会出现发请求了,也获取数据了,但是input框的输入建议下拉框不呈现在页面上的问题,所以解决方法就是
  1237. // 只要用户点击了clearable清空按钮以后,就让当前获取焦点的输入框失去焦点,回到最初状态,一切重新开始
  1238. blurForBug () {
  1239. document.activeElement.blur()
  1240. },
  1241. // // 清空搜索栏
  1242. // doEmpty(){
  1243. // this.searchData = {
  1244. // site: this.$store.state.user.site,
  1245. // templateId: '',
  1246. // templateName: '',
  1247. // inspectionTypeNo: '',
  1248. // page: 1,
  1249. // limit: 10,
  1250. // }
  1251. // },
  1252. // 获取基础数据列表S
  1253. getBaseList (val,type) {
  1254. this.tagNo = val
  1255. this.$nextTick(() => {
  1256. let strVal = ''
  1257. let conSql = ''
  1258. // if (this.modalData.bu === null || this.modalData.bu === '') {
  1259. // this.$message.warning("请选择BU!")
  1260. // return
  1261. // } else {
  1262. conSql = " and site = '" + this.modalData.site + "'"
  1263. // }
  1264. if (val === 207) {
  1265. strVal = this.modalData.samplingProgrammeNo
  1266. }
  1267. if (val === 208) {
  1268. strVal = this.modalData.samplingLevelNo
  1269. }
  1270. this.$refs.baseList.init(val, strVal, conSql)
  1271. })
  1272. },
  1273. // 列表方法的回调
  1274. getBaseData (val) {
  1275. if (this.tagNo === 207) {
  1276. this.modalData.samplingProgrammeNo = val.sampling_programme_no
  1277. this.modalData.samplingProgrammeDesc = val.sampling_programme_desc
  1278. }
  1279. if (this.tagNo === 208) {
  1280. this.modalData.samplingLevelNo = val.sampling_level_no
  1281. this.modalData.samplingLevelDesc = val.sampling_level_desc
  1282. }
  1283. },
  1284. // 获取数据列表
  1285. getDataList () {
  1286. this.searchData.limit = this.pageSize
  1287. this.searchData.page = this.pageIndex
  1288. templateSearch(this.searchData).then(({data}) => {
  1289. if (data.code === 0) {
  1290. this.dataList = data.page.list
  1291. this.pageIndex = data.page.currPage
  1292. this.pageSize = data.page.pageSize
  1293. this.totalPage = data.page.totalCount
  1294. }
  1295. })
  1296. },
  1297. // 每页数
  1298. sizeChangeHandle (val) {
  1299. this.pageSize = val
  1300. this.pageIndex = 1
  1301. this.getDataList()
  1302. },
  1303. // 当前页
  1304. currentChangeHandle (val) {
  1305. this.pageIndex = val
  1306. this.getDataList()
  1307. },
  1308. addModal () {
  1309. this.modalData = {
  1310. flag: '1',
  1311. site: this.$store.state.user.site,
  1312. buNo: '*',
  1313. // bu: this.userBuList[0].buNo,
  1314. templateId: '',
  1315. templateName: '',
  1316. templateRemark: '',
  1317. templateType: '',
  1318. templateVersion: '',
  1319. samplingProgrammeNo: '',
  1320. samplingProgrammeDesc: '',
  1321. inspectionTypeNo: '',
  1322. inspectionCycle: '',
  1323. createBy: this.$store.state.user.name,
  1324. updateBy: this.$store.state.user.name,
  1325. samplingLevelNo: '',
  1326. samplingLevelDesc: '',
  1327. aql: '',
  1328. ac: '',
  1329. re: ''
  1330. }
  1331. this.modalDisableFlag = false
  1332. this.modalFlag = true
  1333. },
  1334. updateModal (row) {
  1335. this.modalData = {
  1336. flag: '2',
  1337. // bu: row.site + '_' + row.buNo,
  1338. site: row.site,
  1339. templateId: row.templateId,
  1340. templateName: row.templateName,
  1341. templateRemark: row.templateRemark,
  1342. templateType: row.templateType,
  1343. templateVersion: row.templateVersion,
  1344. samplingProgrammeNo: row.samplingProgrammeNo,
  1345. samplingProgrammeDesc: row.samplingProgrammeDesc,
  1346. inspectionTypeNo: row.inspectionTypeNo,
  1347. createBy: this.$store.state.user.name,
  1348. updateBy: this.$store.state.user.name,
  1349. samplingLevelNo: row.samplingLevelNo,
  1350. samplingLevelDesc: row.samplingLevelDesc,
  1351. inspectionCycle: row.inspectionCycle,
  1352. aql: row.aql,
  1353. ac: row.ac,
  1354. re: row.re,
  1355. defaultSamplingQuantity: row.defaultSamplingQuantity,
  1356. defaultSamplingProportion: row.defaultSamplingProportion
  1357. }
  1358. this.modalDisableFlag = true
  1359. this.modalFlag = true
  1360. },
  1361. // 删除
  1362. deleteModel (row) {
  1363. this.$confirm(`是否删除这个检验模板?`, '提示', {
  1364. confirmButtonText: '确定',
  1365. cancelButtonText: '取消',
  1366. type: 'warning'
  1367. }).then(() => {
  1368. templateDelete(row).then(({data}) => {
  1369. if (data && data.code === 0) {
  1370. this.getDataList()
  1371. this.$message({
  1372. message: '操作成功',
  1373. type: 'success',
  1374. duration: 1500,
  1375. onClose: () => {}
  1376. })
  1377. } else {
  1378. this.$alert(data.msg, '错误', {
  1379. confirmButtonText: '确定'
  1380. })
  1381. }
  1382. })
  1383. }).catch(() => {
  1384. })
  1385. },
  1386. saveData () {
  1387. if (this.modalData.templateName === '' || this.modalData.templateName == null) {
  1388. this.$message.warning('请输入检验模板名称!')
  1389. return
  1390. }
  1391. if (this.modalData.inspectionTypeNo === '' || this.modalData.inspectionTypeNo == null) {
  1392. this.$message.warning('请选择检验类型!')
  1393. return
  1394. }
  1395. if ((this.modalData.samplingProgrammeNo === '' || this.modalData.samplingProgrammeNo == null) && (this.modalData.defaultSamplingQuantity === '' || this.modalData.defaultSamplingQuantity == null) && (this.modalData.defaultSamplingProportion === '' || this.modalData.defaultSamplingProportion == null)) {
  1396. this.$message.warning('抽样方案、默认抽样数量、默认抽样比例至少选择一项!')
  1397. return
  1398. }
  1399. if ((this.modalData.samplingProgrammeNo !== '' && this.modalData.samplingProgrammeNo != null) && (this.modalData.samplingLevelNo === '' || this.modalData.samplingLevelNo == null)) {
  1400. this.$message.warning('请选择检验水平!')
  1401. return
  1402. }
  1403. if (this.modalData.flag === '1') {
  1404. templateSave(this.modalData).then(({data}) => {
  1405. if (data && data.code === 0) {
  1406. this.getDataList()
  1407. this.modalFlag = false
  1408. this.$message({
  1409. message: '操作成功',
  1410. type: 'success',
  1411. duration: 1500,
  1412. onClose: () => {}
  1413. })
  1414. } else {
  1415. this.$alert(data.msg, '错误', {
  1416. confirmButtonText: '确定'
  1417. })
  1418. }
  1419. })
  1420. } else {
  1421. templateUpdate(this.modalData).then(({data}) => {
  1422. if (data && data.code === 0) {
  1423. this.getDataList()
  1424. this.modalFlag = false
  1425. this.$message({
  1426. message: '操作成功',
  1427. type: 'success',
  1428. duration: 1500,
  1429. onClose: () => {}
  1430. })
  1431. } else {
  1432. this.$alert(data.msg, '错误', {
  1433. confirmButtonText: '确定'
  1434. })
  1435. }
  1436. })
  1437. }
  1438. },
  1439. // 打开检验项目
  1440. detailModal (row) {
  1441. this.detailData.site = row.site
  1442. this.detailData.buNo = row.buNo
  1443. this.detailData.templateId = row.templateId
  1444. this.detailData.templateName = row.templateName
  1445. this.detailData.inspectionTypeName = row.inspectionTypeName
  1446. templateDetailsSearch(this.detailData).then(({data}) => {
  1447. this.detailList = data.rows
  1448. //this.objectSearch()
  1449. })
  1450. this.detailModelFlag = true
  1451. },
  1452. // 保存模板项目
  1453. saveDetail () {
  1454. // for (let i = 0; i < this.detailList.length; i++) {
  1455. // // if (this.detailList[i].objectID != null){
  1456. // // this.detailList[i].objectID = this.detailList[i].objectID.split('_')[0];
  1457. // // }
  1458. // saveItemDetailed(this.detailList[i]).then(({data}) => {
  1459. // if (data && data.code === 0) {
  1460. // this.getDataList()
  1461. // this.detailModelFlag = false
  1462. // } else {
  1463. // this.$alert(data.msg, '错误', {
  1464. // confirmButtonText: '确定'
  1465. // }).then(() => {
  1466. // return false
  1467. // })
  1468. // }
  1469. // })
  1470. // }
  1471. let tempData = {
  1472. site: this.detailData.site,
  1473. buNo: this.detailData.buNo,
  1474. templateId: this.detailData.templateId,
  1475. itemList: this.detailList
  1476. }
  1477. saveItemDetailed(tempData).then(({data}) => {
  1478. if (data && data.code === 0) {
  1479. this.getDataList()
  1480. this.detailModelFlag = false
  1481. this.$message({
  1482. message: '操作成功',
  1483. type: 'success',
  1484. duration: 1500,
  1485. onClose: () => {}
  1486. })
  1487. } else {
  1488. this.$alert(data.msg, '错误', {
  1489. confirmButtonText: '确定'
  1490. }).then(() => {
  1491. return false
  1492. })
  1493. }
  1494. })
  1495. },
  1496. // 快速新增
  1497. addFastModal () {
  1498. this.itemSelections1 = null
  1499. this.itemSelections2 = null
  1500. getItemList(this.detailData).then(({data}) => {
  1501. this.itemList1 = data.row1
  1502. this.itemList2 = data.row2
  1503. })
  1504. this.fastAddFlag = true
  1505. },
  1506. // 可选项目
  1507. itemClickRow1 (row) {
  1508. this.$refs.itemTable1.toggleRowSelection(row)
  1509. },
  1510. itemClickRow(row){
  1511. this.currentRow= JSON.parse(JSON.stringify(row))
  1512. },
  1513. // 已有项目
  1514. itemClickRow2 (row) {
  1515. this.$refs.itemTable2.toggleRowSelection(row)
  1516. },
  1517. selectFlag () {
  1518. return true
  1519. },
  1520. selectionItem1 (val) {
  1521. this.itemSelections1 = val
  1522. },
  1523. selectionItem2 (val) {
  1524. this.itemSelections2 = val
  1525. },
  1526. // 添加明细
  1527. addItem () {
  1528. if (this.itemSelections1 == null || this.itemSelections1.length === 0) {
  1529. this.$message.warning('请选择可选项目!')
  1530. return
  1531. }
  1532. let inData = {
  1533. site: this.detailData.site,
  1534. buNo: this.detailData.buNo,
  1535. templateId: this.detailData.templateId,
  1536. templateName: this.detailData.templateName,
  1537. itemList: this.itemSelections1,
  1538. itemType: this.detailData.itemType,
  1539. }
  1540. addItemDetails(inData).then(({data}) => {
  1541. if (data && data.code === 0) {
  1542. getItemList(this.detailData).then(({data}) => {
  1543. this.itemList1 = data.row1
  1544. this.itemList2 = data.row2
  1545. })
  1546. this.itemSelections1 = []
  1547. } else {
  1548. this.$alert(data.msg, '错误', {
  1549. confirmButtonText: '确定'
  1550. })
  1551. }
  1552. })
  1553. },
  1554. // 删除明细
  1555. deleteItem () {
  1556. if (this.itemSelections2 == null || this.itemSelections2.length === 0) {
  1557. this.$message.warning('请选择已有项目!')
  1558. return
  1559. }
  1560. let inData = {
  1561. site: this.detailData.site,
  1562. buNo: this.detailData.buNo,
  1563. templateId: this.detailData.templateId,
  1564. templateName: this.detailData.templateName,
  1565. itemList: this.itemSelections2,
  1566. itemType: this.detailData.itemType
  1567. }
  1568. delItemDetails(inData).then(({data}) => {
  1569. if (data && data.code === 0) {
  1570. getItemList(this.detailData).then(({data}) => {
  1571. this.itemList1 = data.row1
  1572. this.itemList2 = data.row2
  1573. })
  1574. this.itemSelections2 = []
  1575. } else {
  1576. this.$alert(data.msg, '错误', {
  1577. confirmButtonText: '确定'
  1578. })
  1579. }
  1580. })
  1581. },
  1582. // 关闭后刷新列表
  1583. refreshDetailList () {
  1584. templateDetailsSearch(this.detailData).then(({data}) => {
  1585. this.detailList = data.rows
  1586. })
  1587. },
  1588. closeDialog (){
  1589. this.detailList = []
  1590. this.itemList1 = []
  1591. this.itemList2 = []
  1592. },
  1593. // 删除项目中的明细
  1594. delItemDetails (row) {
  1595. this.$confirm(`是否删除这个检验明细?`, '提示', {
  1596. confirmButtonText: '确定',
  1597. cancelButtonText: '取消',
  1598. type: 'warning'
  1599. }).then(() => {
  1600. delItemDetails(row).then(({data}) => {
  1601. if (data && data.code === 0) {
  1602. templateDetailsSearch(this.detailData).then(({data}) => {
  1603. this.detailList = data.rows
  1604. })
  1605. this.$message({
  1606. message: '操作成功',
  1607. type: 'success',
  1608. duration: 1500,
  1609. onClose: () => {}
  1610. })
  1611. } else {
  1612. this.$alert(data.msg, '错误', {
  1613. confirmButtonText: '确定'
  1614. })
  1615. }
  1616. })
  1617. }).catch(() => {
  1618. })
  1619. },
  1620. // 校验用户是否收藏
  1621. favoriteIsOk () {
  1622. let userFavorite = {
  1623. userId: this.$store.state.user.id,
  1624. languageCode: this.$i18n.locale
  1625. }
  1626. userFavoriteList(userFavorite).then(({data}) => {
  1627. for (let i = 0; i < data.list.length; i++) {
  1628. if (this.$route.meta.menuId === data.list[i].menuId) {
  1629. this.favorite = true
  1630. }
  1631. }
  1632. })
  1633. },
  1634. // 收藏 OR 取消收藏
  1635. favoriteFunction () {
  1636. let userFavorite = {
  1637. userId: this.$store.state.user.id,
  1638. functionId: this.$route.meta.menuId,
  1639. }
  1640. if (this.favorite) {
  1641. removeUserFavorite(userFavorite).then(({data}) => {
  1642. this.$message.success(data.msg)
  1643. this.favorite = false
  1644. })
  1645. } else {
  1646. // 收藏
  1647. saveUserFavorite(userFavorite).then(({data}) => {
  1648. this.$message.success(data.msg)
  1649. this.favorite = true
  1650. })
  1651. }
  1652. },
  1653. //导出excel
  1654. async createExportData () {
  1655. this.searchData.limit = -1
  1656. this.searchData.page = 1
  1657. await templateSearch(this.searchData).then(({data}) => {
  1658. this.exportList= data.page.list
  1659. })
  1660. return this.exportList
  1661. },
  1662. goUp() {
  1663. goUpItemQC(this.currentRow).then(({data}) => {
  1664. if (data && data.code === 0) {
  1665. templateDetailsSearch(this.detailData).then(({data}) => {
  1666. this.detailList = data.rows
  1667. for (let i = 0; i <this.detailList.length ; i++) {
  1668. if(this.detailList[i].itemNo===this.currentRow.itemNo){
  1669. this.$refs.detailTable.setCurrentRow(this.detailList[i]);
  1670. this.currentRow=JSON.parse(JSON.stringify(this.detailList[i]))
  1671. this.$message.success('操作成功')
  1672. }
  1673. }
  1674. //this.objectSearch()
  1675. })
  1676. }
  1677. })
  1678. },
  1679. goDown() {
  1680. goDownItemQC(this.currentRow).then(({data}) => {
  1681. if (data && data.code === 0) {
  1682. templateDetailsSearch(this.detailData).then(({data}) => {
  1683. this.detailList = data.rows
  1684. for (let i = 0; i <this.detailList.length ; i++) {
  1685. if(this.detailList[i].itemNo===this.currentRow.itemNo){
  1686. this.$refs.detailTable.setCurrentRow(this.detailList[i]);
  1687. this.currentRow=JSON.parse(JSON.stringify(this.detailList[i]))
  1688. this.$message.success('操作成功')
  1689. }
  1690. }
  1691. })
  1692. }
  1693. })
  1694. },
  1695. startDownload() {},
  1696. finishDownload() {},
  1697. fields () {
  1698. let json = "{"
  1699. this.columnList.forEach((item, index) => {
  1700. if (index == this.columnList.length - 1) {
  1701. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  1702. } else {
  1703. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  1704. }
  1705. })
  1706. json += "}"
  1707. let s = eval("(" + json + ")")
  1708. return s
  1709. },
  1710. // 导入
  1711. qcUpload () {
  1712. let currentData = {
  1713. flag: 'template',
  1714. createBy: this.$store.state.user.name,
  1715. site: this.$store.state.user.site,
  1716. }
  1717. //打开组件 去做新增业务
  1718. this.$nextTick(() => {
  1719. this.$refs.qcUpload.init(currentData)
  1720. })
  1721. },
  1722. // 动态列开始 获取 用户保存的 格式列
  1723. async getTableUserColumn (tableId, columnId) {
  1724. let queryTableUser = {
  1725. userId: this.$store.state.user.name,
  1726. functionId: this.$route.meta.menuId,
  1727. tableId: tableId,
  1728. status: true,
  1729. languageCode: this.$i18n.locale
  1730. }
  1731. await getTableUserListLanguage(queryTableUser).then(({data}) => {
  1732. if (data.rows.length > 0) {
  1733. //this.columnList1 = []
  1734. switch (columnId) {
  1735. case 1:
  1736. this.columnList = data.rows
  1737. break;
  1738. // case 2:
  1739. // this.columnDetailList = data.rows
  1740. // break;
  1741. // case 3:
  1742. // this.columnList2 = data.rows
  1743. // break;
  1744. // case 4:
  1745. // this.columnList3 = data.rows
  1746. // break;
  1747. }
  1748. } else {
  1749. this.getColumnList(tableId, columnId)
  1750. }
  1751. })
  1752. },
  1753. // 获取 tableDefault 列
  1754. async getColumnList (tableId, columnId) {
  1755. let queryTable= {
  1756. functionId: this.$route.meta.menuId,
  1757. tableId: tableId,
  1758. languageCode: this.$i18n.locale
  1759. }
  1760. await getTableDefaultListLanguage(queryTable).then(({data}) => {
  1761. if (!data.rows.length == 0) {
  1762. switch (columnId) {
  1763. case 1:
  1764. this.columnList = data.rows
  1765. break;
  1766. // case 2:
  1767. // this.columnDetailList = data.rows
  1768. // break;
  1769. // case 3:
  1770. // this.columnList2 = data.rows
  1771. // break;
  1772. // case 4:
  1773. // this.columnList3 = data.rows
  1774. // break;
  1775. }
  1776. } else {
  1777. // this.showDefault = true.
  1778. }
  1779. })
  1780. },
  1781. //获取按钮的权限数据
  1782. getButtonAuthData () {
  1783. let searchFlag = this.isAuth(this.menuId+":search")
  1784. let saveFlag = this.isAuth(this.menuId+":save")
  1785. let updateFlag = this.isAuth(this.menuId+":update")
  1786. let deleteFlag = this.isAuth(this.menuId+":delete")
  1787. let detailFlag = this.isAuth(this.menuId+":detail")
  1788. //处理页面的权限数据
  1789. this.authSearch = !searchFlag
  1790. this.authSave = !saveFlag
  1791. this.authUpdate = !updateFlag
  1792. this.authDelete = !deleteFlag
  1793. this.authDetail = !detailFlag
  1794. },
  1795. }
  1796. }
  1797. </script>
  1798. <style scoped>
  1799. /deep/ .el-autocomplete-suggestion {
  1800. width: auto!important;
  1801. }
  1802. .el-table /deep/ .cell{
  1803. height: auto;
  1804. line-height: 1.5;
  1805. }
  1806. </style>