plm前端
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.

380 lines
15 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div class="mod-config">
  3. <el-tabs class="tabs" tab-position="left" style="height: 200px;" type="border-card" v-model="activeName" @tab-click="refreshCurrentTabTable">
  4. <el-tab-pane label="基本信息" name="baseInfo" >
  5. <basicInformation ref="basicInformation" v-if="getPageIf('baseInfo')"></basicInformation>
  6. </el-tab-pane>
  7. <el-tab-pane label="客户信息" name="customerInfo" v-if="getPageIf('customerInfo')">
  8. <customerInfo ref="customerInfo" ></customerInfo>
  9. </el-tab-pane>
  10. <el-tab-pane label="包装信息" name="packageInfo" v-if="getPageIf('packageInfo')">
  11. <packageInfo ref="packageInfo"></packageInfo>
  12. </el-tab-pane>
  13. <el-tab-pane label="材料信息" name="bom" v-if="getPageIf('bom')">
  14. <bom ref="bom"></bom>
  15. </el-tab-pane>
  16. <el-tab-pane label="工艺信息" name="routing" v-if="getPageIf('routing')">
  17. <routing ref="routing"></routing>
  18. </el-tab-pane>
  19. <el-tab-pane label="TP工程师填写信息" name="tpInfo" v-if="getPageIf('tpInfo')">
  20. <tpInfo ref="tpInfo"></tpInfo>
  21. </el-tab-pane>
  22. <el-tab-pane label="产品技术要求" name="technicalRequirement" v-if="getPageIf('technicalRequirement')">
  23. <technicalRequirement ref="technicalRequirement"></technicalRequirement>
  24. </el-tab-pane>
  25. <el-tab-pane label="图稿信息" name="drawing" v-if="getPageIf('drawing')">
  26. <drawing ref="drawing"></drawing>
  27. </el-tab-pane>
  28. <el-tab-pane label="PE确认信息" name="PEConfirm" v-if="getPageIf('PEConfirm')">
  29. <PEConfirm ref="PEConfirm"></PEConfirm>
  30. </el-tab-pane>
  31. <el-tab-pane label="印前" name="prepress" v-if="getPageIf('prepress')">
  32. <prepress ref="prepress"></prepress>
  33. </el-tab-pane>
  34. <!-- <el-tab-pane label="印刷" name="printing" v-if="getPageIf('printing')">-->
  35. <!-- <prepress ref="printing"></prepress>-->
  36. <!-- </el-tab-pane>-->
  37. <el-tab-pane label="印刷:油墨房&&其他" name="printOther" v-if="getPageIf('printOther')">
  38. <printOther ref="printOther"></printOther>
  39. </el-tab-pane>
  40. <el-tab-pane label="热转移打印" name="overprinting" v-if="getPageIf('overprinting')">
  41. <overprinting ref="overprinting"></overprinting>
  42. </el-tab-pane>
  43. <el-tab-pane label="分条" name="slitting" v-if="getPageIf('slitting')">
  44. <slitting ref="slitting"></slitting>
  45. </el-tab-pane>
  46. <el-tab-pane label="热覆膜" name="lamTemperature" v-if="getPageIf('lamTemperature')">
  47. <lamTemperature ref="lamTemperature"></lamTemperature>
  48. </el-tab-pane>
  49. <el-tab-pane label="模切" name="cutting" v-if="getPageIf('cutting')">
  50. <cutting ref="cutting"></cutting>
  51. </el-tab-pane>
  52. <el-tab-pane label="油墨房" name="InkMixing" v-if="getPageIf('InkMixing')">
  53. <InkMixing ref="InkMixing"></InkMixing>
  54. </el-tab-pane>
  55. <el-tab-pane label="油墨配方" name="InkFormulation" v-if="getPageIf('InkFormulation')">
  56. <InkFormulation ref="InkFormulation"></InkFormulation>
  57. </el-tab-pane>
  58. <el-tab-pane label="覆膜" name="lamination" v-if="getPageIf('Lamination')">
  59. <lamination ref="lamination"></lamination>
  60. </el-tab-pane>
  61. <el-tab-pane label="包装" name="packagePage" v-if="getPageIf('packagePage')">
  62. <packagePage ref="packagePage"></packagePage>
  63. </el-tab-pane>
  64. <el-tab-pane label="FQC" name="fqc" v-if="getPageIf('fqc')">
  65. <fqc ref="fqc"></fqc>
  66. </el-tab-pane>
  67. <el-tab-pane label="CQC" name="cqc" v-if="getPageIf('cqc')">
  68. <cqc ref="cqc"></cqc>
  69. </el-tab-pane>
  70. <el-tab-pane label="品质文件" name="qualityDocument" v-if="getPageIf('qualityDocument')">
  71. <qualityDocument ref="qualityDocument"></qualityDocument>
  72. </el-tab-pane>
  73. <el-tab-pane label="文档控制" name="documentControl" v-if="getPageIf('documentControl')">
  74. <documentControl ref="documentControl"></documentControl>
  75. </el-tab-pane>
  76. <el-tab-pane label="产品工程师审核/确认" name="peReviewed" v-if="getPageIf('peReviewed')">
  77. <peReviewed ref="peReviewed"></peReviewed>
  78. </el-tab-pane>
  79. <el-tab-pane label="报价专员确认信息" name="queteConfirm" v-if="getPageIf('queteConfirm')">
  80. <queteConfirm ref="queteConfirm"></queteConfirm>
  81. </el-tab-pane>
  82. <el-tab-pane label="FAI" name="fai" v-if="getPageIf('fai')">
  83. <fai ref="fai"></fai>
  84. </el-tab-pane>
  85. <el-tab-pane label="CQE确认" name="cqeComfirm" v-if="getPageIf('cqeComfirm')">
  86. <cqeComfirm ref="cqeComfirm"></cqeComfirm>
  87. </el-tab-pane>
  88. </el-tabs>
  89. </div>
  90. </template>
  91. <script>
  92. import {
  93. getBMPageBase
  94. } from '@/api/sampleManagement/technicalSpecificationList.js'
  95. import basicInformation from "./com_tsd_basicInformation";/*組件*/
  96. import customerInfo from "./com_bm_customerInformation";/*客户信息*/
  97. import packageInfo from "./com_bm_packageInfo";/*包装信息*/
  98. import bom from "./com_bm_bom";/*BOM*/
  99. import routing from "./com_bm_routing";/*工艺*/
  100. import prepress from "./com_bm_prepress";/*组件*/
  101. import technicalRequirement from "./com_bm_demoSlot";/*组件*/
  102. import drawing from "./com_bm_demoSlot";/*组件*/
  103. import PEConfirm from "./com_bm_demoSlot";/*组件*/
  104. import overprinting from "./com_bm_demoSlot";/*组件*/
  105. import slitting from "./com_bm_demoSlot";/*组件*/
  106. import lamTemperature from "./com_bm_demoSlot";/*组件*/
  107. import cutting from "./com_bm_demoSlot";/*组件*/
  108. import packagePage from "./com_bm_demoSlot";/*组件*/
  109. import fqc from "./com_bm_demoSlot";/*组件*/
  110. import cqc from "./com_bm_demoSlot";/*组件*/
  111. import qualityDocument from "./com_bm_demoSlot";/*组件*/
  112. import documentControl from "./com_bm_demoSlot";/*组件*/
  113. import peReviewed from "./com_bm_demoSlot";/*组件*/
  114. import queteConfirm from "./com_bm_demoSlot";/*组件*/
  115. import fai from "./com_bm_demoSlot";/*组件*/
  116. import cqeComfirm from "./com_bm_demoSlot";/*组件*/
  117. import tpInfo from "./com_bm_tpInfo";/*组件*/
  118. import printOther from "./com_bm_printOther";/*组件*/
  119. import InkMixing from "./com_bm_inkMixing";/*组件*/
  120. import InkFormulation from "./com_bm_inkFormulation";/*组件*/
  121. import lamination from "./com_bm_lamination";/*组件*/
  122. export default {
  123. name: "technicalSpecificationDetail",
  124. components: {
  125. basicInformation,
  126. customerInfo,
  127. packageInfo,
  128. bom,
  129. routing,
  130. prepress,
  131. technicalRequirement,
  132. drawing,
  133. PEConfirm,
  134. overprinting,
  135. slitting,
  136. lamTemperature,
  137. cutting,
  138. packagePage,
  139. fqc,
  140. cqc,
  141. qualityDocument,
  142. documentControl,
  143. peReviewed,
  144. queteConfirm,
  145. fai,
  146. cqeComfirm,
  147. tpInfo,
  148. printOther,
  149. InkMixing,
  150. InkFormulation,
  151. lamination,
  152. },
  153. data() {
  154. return {
  155. dataForm:{
  156. site:'',
  157. codeNo:'',
  158. buNo:'',
  159. username:this.$store.state.user.name,
  160. type:'',
  161. },
  162. pageRole:'',
  163. activeName:'',
  164. }
  165. },
  166. mounted() {
  167. if(localStorage.getItem('tsfData')!=undefined){
  168. let data=JSON.parse(localStorage.getItem('tsfData'))
  169. this.dataForm.site=data.site
  170. this.dataForm.codeNo=data.codeNo
  171. this.dataForm.buNo=data.buNo
  172. localStorage.removeItem('tsfData');
  173. this.getPageRole()
  174. }
  175. this.$nextTick(() => {
  176. this.changeHeightAuto();
  177. this.getBaseInfoData();
  178. })
  179. },
  180. methods: {
  181. refreshCurrentTabTable(){
  182. //先调整页面的高度
  183. this.changeHeightAuto()
  184. if (this.activeName == 'baseInfo') {
  185. this.getBaseInfoData();
  186. }else if(this.activeName == 'customerInfo'){
  187. //有的页面要高一点
  188. this.changeHeight(800);
  189. this.getCustomerInfo();
  190. }else if(this.activeName == 'packageInfo'){
  191. this.getPackageInfo();
  192. }else if(this.activeName == 'bom'){
  193. this.getBom();
  194. }else if(this.activeName == 'routing'){
  195. this.getRouting();
  196. }else if(this.activeName == 'prepress'){
  197. this.changeHeight(800);
  198. this.getPrepress();
  199. }else if(this.activeName == 'technicalRequirement'){
  200. this.getTechnicalRequirement();
  201. }else if(this.activeName == 'PEConfirm'){
  202. this.getPEConfirm();
  203. }else if(this.activeName == 'drawing'){
  204. this.getDrawing();
  205. } else if(this.activeName == 'overprinting'){
  206. this.getOverprinting();
  207. }else if(this.activeName == 'slitting'){
  208. this.getSlitting();
  209. }else if(this.activeName == 'lamTemperature'){
  210. this.getLamTemperature();
  211. }else if(this.activeName == 'cutting'){
  212. this.getCutting();
  213. }else if(this.activeName == 'packagePage'){
  214. this.getPackagePage();
  215. }else if(this.activeName == 'fqc'){
  216. this.getFqc();
  217. }else if(this.activeName == 'cqc'){
  218. this.getCqc();
  219. }else if(this.activeName == 'qualityDocument'){
  220. this.getQualityDocument();
  221. }else if(this.activeName == 'documentControl'){
  222. this.getDocumentControl();
  223. }else if(this.activeName == 'peReviewed'){
  224. this.getPeReviewed();
  225. }else if(this.activeName == 'queteConfirm'){
  226. this.getQueteConfirm();
  227. }else if(this.activeName == 'fai'){
  228. this.getFai();
  229. }else if(this.activeName == 'cqeComfirm'){
  230. this.getCqeComfirm();
  231. }else if(this.activeName == 'tpInfo'){
  232. this.changeHeight(800);
  233. this.getTpInfo();
  234. }else if(this.activeName == 'printOther'){
  235. this.getPrintOther();
  236. }else if(this.activeName == 'InkMixing'){
  237. this.getInkMixing();
  238. }else if(this.activeName == 'InkFormulation'){
  239. this.changeHeight(800);
  240. this.getInkFormulation();
  241. }else if(this.activeName == 'lamination'){
  242. this.getLamination();
  243. }
  244. },
  245. getPrintOther(){
  246. this.$refs.printOther.init(JSON.parse(JSON.stringify(this.dataForm)))
  247. },
  248. getBaseInfoData(){
  249. this.$refs.basicInformation.init(JSON.parse(JSON.stringify(this.dataForm)))
  250. },
  251. getCustomerInfo(){
  252. this.$refs.customerInfo.init(JSON.parse(JSON.stringify(this.dataForm)))
  253. },
  254. getPackageInfo(){
  255. this.$refs.packageInfo.init(JSON.parse(JSON.stringify(this.dataForm)))
  256. },
  257. getBom(){
  258. this.$refs.bom.init(JSON.parse(JSON.stringify(this.dataForm)))
  259. },
  260. getRouting(){
  261. this.$refs.routing.init(JSON.parse(JSON.stringify(this.dataForm)))
  262. },
  263. getPrepress(){
  264. this.dataForm.type='prepress'
  265. this.$refs.prepress.init(JSON.parse(JSON.stringify(this.dataForm)))
  266. },
  267. getTechnicalRequirement(){
  268. this.dataForm.type='technicalRequirement'
  269. this.$refs.technicalRequirement.init(JSON.parse(JSON.stringify(this.dataForm)))
  270. },
  271. getPEConfirm(){
  272. this.dataForm.type='PEConfirm'
  273. this.$refs.PEConfirm.init(JSON.parse(JSON.stringify(this.dataForm)))
  274. },
  275. getDrawing(){
  276. this.dataForm.type='drawing'
  277. this.$refs.drawing.init(JSON.parse(JSON.stringify(this.dataForm)))
  278. },
  279. getOverprinting(){
  280. this.dataForm.type='overprinting'
  281. this.$refs.overprinting.init(JSON.parse(JSON.stringify(this.dataForm)))
  282. },
  283. getSlitting(){
  284. this.dataForm.type='slitting'
  285. this.$refs.slitting.init(JSON.parse(JSON.stringify(this.dataForm)))
  286. },
  287. getLamTemperature(){
  288. this.dataForm.type='lamTemperature'
  289. this.$refs.lamTemperature.init(JSON.parse(JSON.stringify(this.dataForm)))
  290. },
  291. getCutting(){
  292. this.dataForm.type='cutting'
  293. this.$refs.cutting.init(JSON.parse(JSON.stringify(this.dataForm)))
  294. },
  295. getPackagePage(){
  296. // 这个有点特殊 是package
  297. this.dataForm.type='packagePage'
  298. this.$refs.packagePage.init(JSON.parse(JSON.stringify(this.dataForm)))
  299. },
  300. getFqc(){
  301. this.dataForm.type='fqc'
  302. this.$refs.fqc.init(JSON.parse(JSON.stringify(this.dataForm)))
  303. },
  304. getCqc(){
  305. this.dataForm.type='cqc'
  306. this.$refs.cqc.init(JSON.parse(JSON.stringify(this.dataForm)))
  307. },
  308. getQualityDocument(){
  309. this.dataForm.type='qualityDocument'
  310. this.$refs.qualityDocument.init(JSON.parse(JSON.stringify(this.dataForm)))
  311. },
  312. getDocumentControl(){
  313. this.dataForm.type='documentControl'
  314. this.$refs.documentControl.init(JSON.parse(JSON.stringify(this.dataForm)))
  315. },
  316. getPeReviewed(){
  317. this.dataForm.type='peReviewed'
  318. this.$refs.peReviewed.init(JSON.parse(JSON.stringify(this.dataForm)))
  319. },
  320. getQueteConfirm(){
  321. this.dataForm.type='queteConfirm'
  322. this.$refs.queteConfirm.init(JSON.parse(JSON.stringify(this.dataForm)))
  323. },
  324. getFai(){
  325. this.dataForm.type='fai'
  326. this.$refs.fai.init(JSON.parse(JSON.stringify(this.dataForm)))
  327. },
  328. getCqeComfirm(){
  329. this.dataForm.type='cqeComfirm'
  330. this.$refs.cqeComfirm.init(JSON.parse(JSON.stringify(this.dataForm)))
  331. },
  332. getTpInfo(){
  333. this.dataForm.type='tpInfo'
  334. this.$refs.tpInfo.init(JSON.parse(JSON.stringify(this.dataForm)))
  335. },
  336. getInkMixing(){
  337. this.dataForm.type='InkMixing'
  338. this.$refs.InkMixing.init(JSON.parse(JSON.stringify(this.dataForm)))
  339. },
  340. getInkFormulation(){
  341. this.dataForm.type='InkFormulation'
  342. this.$refs.InkFormulation.init(JSON.parse(JSON.stringify(this.dataForm)))
  343. },
  344. getLamination(){
  345. this.dataForm.type='lamination'
  346. this.$refs.lamination.init(JSON.parse(JSON.stringify(this.dataForm)))
  347. },
  348. //看有没有这个页面的权限
  349. getPageRole(){
  350. getBMPageBase(this.dataForm).then(({data}) => {
  351. if (data && data.code === 0) {
  352. this.pageRole=data.row
  353. }
  354. })
  355. },
  356. getPageIf(key){
  357. return this.pageRole.indexOf(key) !== -1 || false
  358. },
  359. changeHeight(height){
  360. var tabsElement = document.querySelector('.tabs');
  361. // tabsElement.style.minHeight = window.innerHeight+'px';
  362. tabsElement.style.minHeight = height +'px';
  363. },
  364. changeHeightAuto(){
  365. //页签大小铺满网页
  366. var tabsElement = document.querySelector('.tabs');
  367. tabsElement.style.minHeight = window.innerHeight+'px';
  368. }
  369. },
  370. }
  371. </script>
  372. <style >
  373. </style>