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.

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