From 192a6c1536d3f9017343634c17dc300c6fd98ff6 Mon Sep 17 00:00:00 2001 From: yuyu <1981343953@qq.com> Date: 星期三, 02 八月 2023 09:36:23 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/yuanchu_code/frontend-zhongtian-ocean --- src/components/view/raw-ins.vue | 228 +++++++++++ src/components/view/standard.vue | 87 +++ src/main.js | 24 src/components/view/rawInsBox.vue | 34 + src/components/view/technical.vue | 265 +++++++++++++ src/App.vue | 72 +++ src/components/view/rawInsDetail.vue | 271 +++++++++++++ src/components/view/standard-table/technology.vue | 103 ++--- src/view/index.vue | 16 README.md | 42 -- src/assets/api/controller.js | 12 11 files changed, 1,017 insertions(+), 137 deletions(-) diff --git a/README.md b/README.md index fad88b5..60ad219 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,3 @@ -<<<<<<< HEAD -# 鍓嶇涓ぉ娴锋磱 - -#### 浠嬬粛 -{**浠ヤ笅鏄� Gitee 骞冲彴璇存槑锛屾偍鍙互鏇挎崲姝ょ畝浠�** -Gitee 鏄� OSCHINA 鎺ㄥ嚭鐨勫熀浜� Git 鐨勪唬鐮佹墭绠″钩鍙帮紙鍚屾椂鏀寔 SVN锛夈�備笓涓哄紑鍙戣�呮彁渚涚ǔ瀹氥�侀珮鏁堛�佸畨鍏ㄧ殑浜戠杞欢寮�鍙戝崗浣滃钩鍙� -鏃犺鏄釜浜恒�佸洟闃熴�佹垨鏄紒涓氾紝閮借兘澶熺敤 Gitee 瀹炵幇浠g爜鎵樼銆侀」鐩鐞嗐�佸崗浣滃紑鍙戙�備紒涓氶」鐩鐪� [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 杞欢鏋舵瀯 -杞欢鏋舵瀯璇存槑 - - -#### 瀹夎鏁欑▼ - -1. xxxx -2. xxxx -3. xxxx - -#### 浣跨敤璇存槑 - -1. xxxx -2. xxxx -3. xxxx - -#### 鍙備笌璐$尞 - -1. Fork 鏈粨搴� -2. 鏂板缓 Feat_xxx 鍒嗘敮 -3. 鎻愪氦浠g爜 -4. 鏂板缓 Pull Request - - -#### 鐗规妧 - -1. 浣跨敤 Readme\_XXX.md 鏉ユ敮鎸佷笉鍚岀殑璇█锛屼緥濡� Readme\_en.md, Readme\_zh.md -2. Gitee 瀹樻柟鍗氬 [blog.gitee.com](https://blog.gitee.com) -3. 浣犲彲浠� [https://gitee.com/explore](https://gitee.com/explore) 杩欎釜鍦板潃鏉ヤ簡瑙� Gitee 涓婄殑浼樼寮�婧愰」鐩� -4. [GVP](https://gitee.com/gvp) 鍏ㄧО鏄� Gitee 鏈�鏈変环鍊煎紑婧愰」鐩紝鏄患鍚堣瘎瀹氬嚭鐨勪紭绉�寮�婧愰」鐩� -5. Gitee 瀹樻柟鎻愪緵鐨勪娇鐢ㄦ墜鍐� [https://gitee.com/help](https://gitee.com/help) -6. Gitee 灏侀潰浜虹墿鏄竴妗g敤鏉ュ睍绀� Gitee 浼氬憳椋庨噰鐨勬爮鐩� [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) -======= # vue_model > A Vue.js project @@ -60,4 +19,3 @@ ``` For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). ->>>>>>> c1c41a4 (棣栨鎻愪氦) diff --git a/src/App.vue b/src/App.vue index 4244c2c..ccd4a2b 100644 --- a/src/App.vue +++ b/src/App.vue @@ -115,4 +115,76 @@ .el-popper .popper__arrow{ display: none ; } +/**淇敼鍏ㄥ眬鐨勬粴鍔ㄦ潯*/ +/**婊氬姩鏉$殑瀹藉害*/ +::-webkit-scrollbar { + width: 8px; + +} +::-webkit-scrollbar-thumb { + background-color: #bdbfc4; + border-radius: 3px; +} +/* 鍏ㄥ眬琛ㄦ牸鏍峰紡 */ + .el-table th.el-table__cell , + .has-gutter .el-table__cell { + background-color: #F0F1F5 !important; + color: #333; + } + .has-gutter .el-table__cell .cell { + font-size: 16px; + font-weight: 500; + } + .cell { + color:rgb(51, 51, 51); + padding-left: 17px !important; + font-size: 14px; + } + .cell span{ + font-size: 14px; + font-weight: 400; + } + .el-table th.el-table__cell>.cell{ + font-size: 16px; + font-weight: 400; + color:rgb(51, 51, 51); + } +/* 鍏ㄥ眬鍒嗛〉鍣ㄦ牱寮� */ + .el-pager .number { + font-size: 14px; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px; + margin: 0 2px; + color: #999; + font-weight: 500; + } + .el-pager .number.active { + background-color: #004EA2; + color: #fff; + border: 0; + } + /* 鍏ㄥ眬妯℃�佹鏍峰紡 */ + .el-dialog__header{ + box-sizing: border-box; + height: 56px; + border-bottom: 1px solid rgb(238, 238, 238); + padding: 0px; + display: flex; + align-items: center; + } + .el-dialog__header::before{ + content: ''; + display: inline-block; + width: 4px; + height: 30.24px; + background: rgb(0, 95, 201); + border-radius:10px; + margin-left: 32px; + margin-right: 8.5px; + } + .el-dialog__header .el-dialog__title{ + font-size: 18px !important; + } + /* 鍏ㄥ眬杈撳叆妗嗘牱寮� */ + /* 鍏ㄥ眬鎸夐挳鏍峰紡 */ </style> diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 1c840a8..2e419b0 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -1,8 +1,18 @@ +// 鎶�鏈鐞�-鏍囧噯Bom +const standard = { + selectTreeByMaterial: "material/selectTreeByMaterial", //鏌ヨ鐗╂枡鐨勬爲 + selectRawInspectsList: "rawInspect/selectRawInspectsList",//鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃 + selectProductByMaterial: "product/selectTreeByMaterial",//鏍规嵁鐗╂枡鏌ヨ椤圭洰琛ㄦ牸 + selectTechnologyByMaterial: "technology/select" +} + + const url = { "enter": "user/enter", //鐧诲綍 - "selectTreeByMaterial": "material/selectTreeByMaterial" //鏌ヨ鐗╂枡鐨勬爲 + ...standard } + export default function(Vue) { //娣诲姞鍏ㄥ眬API Vue.prototype.$api = { diff --git a/src/components/view/raw-ins.vue b/src/components/view/raw-ins.vue new file mode 100644 index 0000000..72c3841 --- /dev/null +++ b/src/components/view/raw-ins.vue @@ -0,0 +1,228 @@ +<style scoped> + .raw_ins {} + + .raw_ins .title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } + + .raw_ins .title { + margin-bottom: 10px; + padding: 0 20px; + } + + .choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); + } + + .choose * { + font-size: 14px; + } + + .choose .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } + + .thing { + width: calc(100% - 44px); + height: calc(100% - 42px - 82px - 66px); + background-color: #fff; + overflow: auto; + padding: 33px 22px; + } + + .table_do { + color: #004ea0; + cursor: pointer; + } +</style> +<style> + .raw_ins .thing * { + font-size: 14px; + } + + .raw_ins .has-gutter .el-table__cell { + background-color: #F0F1F5 !important; + color: #333; + } + + .raw_ins .has-gutter .el-table__cell .cell { + font-size: 16px; + font-weight: 500; + } + + .raw_ins .cell { + color: #333; + padding-left: 17px !important; + } + + .raw_ins .el-table__body-wrapper { + height: 100%; + } + + .raw_ins .el-table__body { + height: 100%; + } +</style> + +<template> + <div class="raw_ins"> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;">鏂板</el-button> + <el-button icon="el-icon-download">鍒犻櫎</el-button> + </el-col> + </el-row> + </div> + <div class="choose"> + <span>鏉ユ枡鏃ユ湡锛�</span> + <el-date-picker v-model="search.formTime" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 30px;" + clearable value-format="yyyy-MM-dd"></el-date-picker> + <span>鎶ユ鏃ユ湡锛�</span> + <el-date-picker v-model="search.createTime" size="small" placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" clearable value-format="yyyy-MM-dd"></el-date-picker> + <span>妫�娴嬬姸鎬侊細</span> + <el-select v-model="search.insState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> + <el-option label="鍏ㄩ儴" :value="2"></el-option> + <el-option label="鏈娴�" :value="0"></el-option> + <el-option label="宸叉娴�" :value="1"></el-option> + </el-select> + <span>鍚堟牸鐘舵�侊細</span> + <el-select v-model="search.judgeState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> + <el-option label="鍏ㄩ儴" :value="2"></el-option> + <el-option label="涓嶅悎鏍�" :value="0"></el-option> + <el-option label="鍚堟牸" :value="1"></el-option> + </el-select> + <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> + <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectRawInspectsList()"><span>鏌� + 璇�</span></el-button> + </div> + <div class="thing"> + <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: calc(100% - 50px)" + max-height="calc(100% - 50px)" @selection-change="handleSelectionChange" border default-expand-all + :tree-props="{children: 'children', hasChildren: 'hasChildren'}" row-key="id"> + <el-table-column type="selection" width="50"> + </el-table-column> + <el-table-column type="index" label="搴忓彿" width="70"> + </el-table-column> + <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡"> + </el-table-column> + <el-table-column prop="code" label="鍘熸潗鏂欑紪鐮�"> + </el-table-column> + <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�"> + </el-table-column> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿"> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> + </el-table-column> + <el-table-column prop="number" label="鏁伴噺"> + </el-table-column> + <el-table-column prop="createTime" label="鎶ユ鏃ユ湡"> + </el-table-column> + <el-table-column prop="userName" label="鎶ユ浜�"> + </el-table-column> + <el-table-column prop="judgeState" label="鍚堟牸鐘舵��" width="100"> + <template slot-scope="scope"> + <span style="color: #34BD66;" v-if="scope.row.judgeState==1">鍚堟牸</span> + <span style="color: #E84738;" v-else-if="scope.row.judgeState==0">涓嶅悎鏍�</span> + </template> + </el-table-column> + <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="100"> + <template slot-scope="scope"> + <span style="color: #34BD66;" v-if="scope.row.insState==1">宸叉娴�</span> + <span style="color: #E84738;" v-else-if="scope.row.insState==0">鏈娴�</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="100"> + <template slot-scope="scope"> + <span class="table_do" @click="changeShowDetail">鏌ョ湅</span> + <span class="table_do">鎵撳嵃</span> + </template> + </el-table-column> + </el-table> + <el-col style="height: 50px;display: flex;align-items: center;justify-content: right;"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" + :page-sizes="[1,10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" + :total="countSize"> + </el-pagination> + </el-col> + </div> + </div> +</template> + +<script> + export default { + data() { + return { + search: { + formTime: null, + createTime: null, + insState: 2, + judgeState: 2 + }, + tableData: [], + selects: [], + currentPage: 1, + countSize: 0, + pageSize: 10 + } + }, + props:['goDetail'], + mounted() { + this.selectRawInspectsList() + }, + methods: { + handleSelectionChange(val) { + this.selects = val; + }, + handleSizeChange(val) { + this.pageSize = val + this.selectRawInspectsList() + }, + handleCurrentChange(val) { + this.currentPage = val + this.selectRawInspectsList() + }, + selectRawInspectsList() { + this.axios.post(this.$api.url.selectRawInspectsList, { + pageSize: this.currentPage, + countSize: this.pageSize, + formTime: this.search.formTime, + createTime: this.search.createTime, + insState: this.search.insState, + judgeState: this.search.judgeState + }).then(res => { + this.tableData = res.data.data + this.countSize = res.data.count + }) + }, + clean() { + this.selects = [] + this.currentPage = 1 + this.countSize = 0 + this.pageSize = 10 + this.search = { + formTime: null, + createTime: null, + insState: 2, + judgeState: 2 + }, + this.selectRawInspectsList() + }, + changeShowDetail(){ + this.goDetail() + } + } + } +</script> diff --git a/src/components/view/rawInsBox.vue b/src/components/view/rawInsBox.vue new file mode 100644 index 0000000..352e496 --- /dev/null +++ b/src/components/view/rawInsBox.vue @@ -0,0 +1,34 @@ + +<style scoped> + +</style> + +<template> + <div class="rawInsBox"> + <RawIns v-show="!showDetail" :goDetail="goDetail"></RawIns> + <RawInsDetail v-show="showDetail" :goBack="goBack" :detail="detail"></RawInsDetail> + </div> +</template> + +<script> +import RawIns from './raw-ins.vue' +import RawInsDetail from './rawInsDetail.vue' +export default { + components:{RawIns,RawInsDetail}, + data() { + return { + showDetail: false, + detail:{} + } + }, + methods:{ + goDetail(detail) { + this.showDetail = true + this.detail = detail + }, + goBack() { + this.showDetail = false + } + } +} +</script> diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue new file mode 100644 index 0000000..716cab0 --- /dev/null +++ b/src/components/view/rawInsDetail.vue @@ -0,0 +1,271 @@ +<style scoped> + .rawInsBox{ + height: 100%; + width: 100%; + overflow-y: scroll; + display: flex; + flex-direction: column; + } + .rawInsBox .title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } + .rawInsBox .title { + margin-bottom: 10px; + padding: 0 20px; + } + /* 妫�楠岃鎯� */ + .raw-detail-info{ + background: #fff; + padding: 26px 0px 11px 80px; + } + .raw-detail-info >>>.el-form-item__label{ + + color: rgb(51, 51, 51); + font-family: 寰蒋闆呴粦; + font-size: 16px; + font-weight: 400; + letter-spacing: 0px; + } + .raw-detail-info .el-input{ + width: auto; + } + .raw-detail-info >>>.el-input__inner{ + width: 224px; + height: 32px; + box-sizing: border-box; + background: rgb(238, 238, 238); + border: 1px solid rgb(221, 221, 221); + border-radius:4px; + } + .raw-detail-info .el-form-item{ + margin-bottom: 24px; + } + + /* 妫�楠岄」鐩� */ + .raw-project-table{ + padding: 24px 14px; + background: #fff; + flex: 1; + /* max-height: 360px; */ + /* overflow-y: hidden; */ + } + /* 妫�楠岀粨璁� */ + .raw-conclusion-table{ + padding: 9px 14px; + background: #fff; + } +</style> + + +<template> + <div class="rawInsBox"> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button icon="el-icon-download" @click="()=>{goBack()}">杩� 鍥�</el-button> + </el-col> + </el-row> + </div> + <div class="raw-detail-info"> + <el-form v-model="detail" label-position="right" label-width="120px" > + <el-row> + <el-col :span="7"> + <el-form-item label="鏉ユ枡鏃ユ湡:"> + <el-input></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍘熸潗鏂欑紪鐮�:"> + <el-input></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="鍘熸潗鏂欏悕绉�:"> + <el-input></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鎶ユ鏃ユ湡:"> + <el-input></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍗曚綅:"> + <el-input></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="鏁伴噺:"> + <el-input></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鎶ユ浜�:"> + <el-input></el-input> + </el-form-item> + </el-col> + + </el-row> + </el-form> + </div> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">妫�楠岄」鐩�</el-col> + </el-row> + </div> + <div class="raw-project-table"> + <el-table + :data="projectTable" + style="width: 100%" + max-height="320" + > + <el-table-column + type="index" + label="搴忓彿" + width="100" + > + </el-table-column> + <el-table-column + prop="name" + label="椤圭洰" + width="212"> + </el-table-column> + <el-table-column + prop="address" + label="鍗曚綅" + width="148"> + </el-table-column> + <el-table-column + prop="address" + label="鏍囧噯" + width="254"> + </el-table-column> + <el-table-column + prop="address" + label="鍐呮帶鍊�" + width="291"> + </el-table-column> + <el-table-column + prop="address" + label="妫�鏌ュ��" + width="371"> + </el-table-column> + <el-table-column + prop="address" + label="璇曢獙璁惧" + width="248" + > + </el-table-column> + <el-table-column + prop="address" + label="缁撹" + width="98" + > + </el-table-column> + </el-table> + </div> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">妫�楠岀粨璁�</el-col> + </el-row> + </div> + <div class="raw-conclusion-table"> + <el-table :data="conclusionTable"> + <el-table-column + prop="number" + label="鐗╂枡缂栧彿" + width="353"> + </el-table-column> + <el-table-column + prop="number" + label="鐗╂枡鍚嶇О" + width="353"> + </el-table-column> + <el-table-column + prop="number" + label="妫�楠屽憳" + width="542"> + </el-table-column> + <el-table-column + prop="number" + label="妫�楠岀粨璁�" + width="362"> + </el-table-column> + <el-table-column + fixed="right" + label="鎿嶄綔" + width="120"> + <template slot-scope="scope"> + <el-button type="text" size="small">涓婃姤</el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> +</template> + +<script> +import RawIns from './raw-ins.vue' +export default { + components:{RawIns}, + props:['goBack','detail'], + created(){ + console.log(this.detail) + }, + data() { + return { + conclusionTable:[ + {number:'鐗╂枡鍚嶇О'} + ], + projectTable:[ + { + date: '2016-05-02', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + } + ] + } + }, +} +</script> diff --git a/src/components/view/standard-table/technology.vue b/src/components/view/standard-table/technology.vue index 3d980c1..8cdabda 100644 --- a/src/components/view/standard-table/technology.vue +++ b/src/components/view/standard-table/technology.vue @@ -37,24 +37,49 @@ .standard .el-table__body { height: 100%; } + .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ + padding-left: 23px !important; + } </style> <template> <div class="standard"> - <el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" row-key="id" border - default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> + <el-table :data="tableData" border style="width: 100%" row-key="id" + :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column type="selection" width="50"> </el-table-column> - <el-table-column type="index" label="搴忓彿" width="75"> + <template v-if="tableType==1"> + <el-table-column type="index" label="搴忓彿" width="70"> + <template slot-scope="scope"> + {{ scope.row.index }} + </template> </el-table-column> - <el-table-column prop="date" label="椤圭洰" width="350"> + <el-table-column prop="name" label="椤圭洰"> + <template slot-scope="scope"> + <el-tag size="mini" :type="scope.row.index? '':'success'" :style="{borderRadius: '40%',marginRight: '12px'}">{{ scope.row.index? '01':'02'}}</el-tag> + {{scope.row.name}} + </template> </el-table-column> - <el-table-column prop="name" label="鍗曚綅" width="180"> + <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> - <el-table-column prop="address" label="鏍囧噯鍊�"> + <el-table-column prop="required" label="鏍囧噯鍊�"> </el-table-column> - <el-table-column prop="address" label="鍐呮帶鍊�"> + <el-table-column prop="internal" label="鍐呮帶鍊�"> </el-table-column> + </template> + <template v-else> + <el-table-column prop="name" label="宸ヨ壓鍚嶇О"> + </el-table-column> + <el-table-column prop="device_group" label="璁惧缁�"> + </el-table-column> + <el-table-column label="鍖归厤璁惧"> + <template> + <el-button type="text">閫夋嫨</el-button> + </template> + </el-table-column> + <el-table-column prop="quota" label="宸ユ椂瀹氶"> + </el-table-column> + </template> </el-table> </div> </template> @@ -63,68 +88,20 @@ export default { data() { return { - tableData: [{ - id: 1, - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - id: 2, - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�' - }, { - id: 3, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - children: [{ - id: 31, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�' - }, { - id: 32, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�' - }] - }, { - id: 4, - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }], - tableData1: [{ - id: 1, - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - id: 2, - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�' - }, { - id: 3, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - hasChildren: true - }, { - id: 4, - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }], selects: [] } }, - mounted() {}, + props:['tableData','tableType'], + created() { + console.log(this.tableData,this.tableType) + }, + mounted() { + + }, methods: { handleSelectionChange(val) { this.selects = val; } } } -</script> \ No newline at end of file +</script> diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue index 853d4a2..883e3f1 100644 --- a/src/components/view/standard.vue +++ b/src/components/view/standard.vue @@ -12,6 +12,10 @@ margin-bottom: 10px; padding: 0 20px; } + + .standard .title *{ + font-size: 16px; + } .thing { width: 100%; @@ -85,6 +89,10 @@ .standard .title .el-button * { font-size: 14px; } + + .standard .title .el-button--default{ + color: #004EA2; + } .standard .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { background: rgba(58, 124, 253, 0.3); @@ -101,9 +109,9 @@ <div class="standard"> <div class="title"> <el-row> - <el-col :span="12">鏍囧噯BOM</el-col> + <el-col :span="12" style="line-height: 32px;">鏍囧噯BOM</el-col> <el-col :span="12" style="text-align: right;"> - <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;">鏂板</el-button> + <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="bomAddModelVisible= true">鏂板</el-button> <el-button icon="el-icon-edit-outline">淇敼</el-button> <el-button icon="el-icon-delete">鍒犻櫎</el-button> </el-col> @@ -128,18 +136,33 @@ <div class="choose"> <span>绫诲瀷锛�</span> <el-select v-model="tableType" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 52px;"> - <el-option value="宸ヨ壓鏂囦欢"></el-option> - <el-option value="鎶�鏈寚鏍�"></el-option> + <el-option :value="0" label="宸ヨ壓鏂囦欢"></el-option> + <el-option :value="1" label="鎶�鏈寚鏍�"></el-option> </el-select> - <span>{{tableType=='鎶�鏈寚鏍�'?'椤圭洰锛�':'宸ヨ壓鍚嶇О锛�'}}</span> + <span>{{tableType==1?'椤圭洰锛�':'宸ヨ壓鍚嶇О锛�'}}</span> <el-input v-model="searchName" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 24px;" clearable></el-input> - <el-button size="mini"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button> + <el-button size="mini" @click="()=>{searchName='';selectProductTableData()}"><span>閲� 缃�</span></el-button> + <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>鏌� 璇�</span></el-button> </div> <div class="table"> - <technology></technology> + <technology v-if="tableData.length!==0" :tableType="tableType" :tableData="tableData"></technology> </div> </div> + </div> + <div class="bom-add-model"> + <el-dialog + title="BOM鏂板" + :visible.sync="bomAddModelVisible" + width="30%" + :before-close="handleClose"> + <el-form> + + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="bomAddModelVisible = false">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </div> </template> @@ -150,6 +173,7 @@ components: {technology}, data() { return { + // BOM鏍戞暟鎹粨鏋� list: [{ id: 0, name: "鍘熸潗鏂�", @@ -167,13 +191,24 @@ children: [] }], search: null, - tableType: "鎶�鏈寚鏍�", - searchName: "" + // 琛ㄦ牸绫诲瀷 1锛氭妧鏈寚鏍囷紝0锛氬伐鑹鸿矾绾� + tableType: 1, + // 鏌ヨ鏉′欢-鍚嶇О + searchName: "", + // 鐐瑰嚮閫変腑鏍戣妭鐐� + checkTreeNode: {}, + tableData:[], + // 鎺у埗bom鏂板妯℃�佹鏄惁鏄剧ず + bomAddModelVisible: false } }, watch: { search(val) { this.$refs.tree.filter(val); + }, + tableType(val){ + console.log(val) + this.selectProductTableData() } }, mounted() { @@ -181,7 +216,10 @@ }, methods: { handleNodeClick(data) { - console.log(data); + // console.log(data); + this.checkTreeNode = data + // this.selectMaterialTree() + this.selectProductTableData() }, filterNode(value, data) { if (!value) return true; @@ -210,7 +248,34 @@ if (a.type == b.id) b.children = [a] }) }) + this.$nextTick().then(() => { + const firstNode = document.querySelector('.el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node') + firstNode.click() + // console.log(firstNode) + }) }) + + }, + async selectProductTableData() { + switch (this.tableType) { + case 0: + const {data:technologyList} = await this.$axios.get(this.$api.url.selectTechnologyByMaterial,{params:{specificationId:this.checkTreeNode.id,technologyName:this.searchName}}) + this.tableData = technologyList + break; + case 1: + const {data:productList} = await this.$axios.get(this.$api.url.selectProductByMaterial,{params:{specifications:this.checkTreeNode.id,project:this.searchName}}) + productList.forEach((item,index)=>{ + item.name = item.father + item.index = index+1 + item.id = item.father + if(item.children.length===1){ + productList[index] = {...item.children[0],index: index+1,name:item.father} + } + }) + this.tableData = productList + break; + } + console.log(this.tableData) } } } diff --git a/src/components/view/technical.vue b/src/components/view/technical.vue new file mode 100644 index 0000000..69c0446 --- /dev/null +++ b/src/components/view/technical.vue @@ -0,0 +1,265 @@ + +<style scoped> + .technical{ + height: 100%; + width: 100%; + } + .technical .title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } + + .technical .title { + margin-bottom: 10px; + padding: 0 20px; + } + +/* 鎼滅储澶撮儴鏍峰紡 */ +.search-header{ + background: #fff; + padding: 24px 32px; +} +.search-header .el-form-item{ + margin: 0px; + font-size: 14px; +} +.search-header .el-form-item:nth-child(1){ + margin-right: 48px; +} +.search-header .el-form-item:nth-child(2){ + margin-right: 24px; +} +/* 閲嶇疆鍜屾煡璇袱涓寜閽牱寮� */ +.search-header .el-form-item .el-button{ +width: 65px; +height: 32px; +box-sizing: border-box; +background: rgb(255, 255, 255); +border: 1px solid rgb(217, 217, 217); +border-radius:2px; +padding: 0; +font-size: 14px; +} +.search-header .el-form-item .el-button:nth-child(2){ +/* Rectangle 77 */ +background: rgb(0, 78, 162); +color: #fff; +} +/* 杈撳叆妗嗙殑鏍峰紡 */ +>>>.search-header .el-form-item .el-input .el-input__inner{ +width: 224px; +height: 32px ; +box-sizing: border-box; +background: rgb(255, 255, 255); +border: 1px solid rgb(217, 217, 217); +border-radius:2px; +} + + +/* 鎶�鏈枃浠惰〃鏍兼牱寮� */ +.technical-table{ + margin-top: 11px; + height: calc(100% - 140px); + background: #fff; + padding: 23px 21px ; + font-size: 14px; + box-sizing: border-box; + display: flex; + flex-direction: column; +} +/* .technical-table .el-table{ + overflow-y:scroll; +} */ +.technical-table .table-box { + flex: 1; + overflow-y: scroll; +} +.technical-table .el-pagination{ + margin-top: 23px; + display: flex; + justify-content: end; +} +</style> + + +<template> + <div class="technical"> + <div class="title"> + <el-row> + <el-col :span="12">鎶�鏈枃浠�</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button icon="el-icon-plus">鐢熸垚椤圭洰涔�</el-button> + </el-col> + </el-row> + </div> + <div class="search-header"> + <el-form v-model="searchData" :inline="true"> + <el-form-item label="璁㈠崟鍙�:"> + <el-input v-model="searchData.number"></el-input> + </el-form-item> + <el-form-item label="涓嬪崟鏃ユ湡:"> + <el-date-picker + v-model="searchData.date" + type="date" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button plain @click="resetBtn">閲� 缃�</el-button> + <el-button @click="filteredTableData">鏌� 璇�</el-button> + </el-form-item> + </el-form> + </div> + <div class="technical-table"> + <div class="table-box"> + <el-table + border style="width: 100%" + :data="technicalTable" + > + <el-table-column + type="selection" + width="78"> + </el-table-column> + <el-table-column + prop="date" + label="璁㈠崟鍙�" + width="124"> + </el-table-column> + <el-table-column + prop="name" + label="宸ョ▼鍚嶇О" + width="160"> + </el-table-column> + <el-table-column + prop="address" + label="浜у搧缂栫爜" + width="168" + > + </el-table-column> + <el-table-column + prop="name" + label="浜у搧澶х被" + width="128"> + </el-table-column> + <el-table-column + prop="address" + label="瑙勬牸鍨嬪彿" + width="170"> + </el-table-column> + <el-table-column + prop="name" + label="鍗曚綅" + width="100"> + </el-table-column> + <el-table-column + prop="address" + label="鏁伴噺" + width="118" + > + </el-table-column> + <el-table-column + prop="name" + label="涓嬪崟浜�" + width="114"> + </el-table-column> + <el-table-column + prop="address" + label="涓嬪崟鏃ユ湡" + width="153" + > + </el-table-column> + <el-table-column + prop="address" + label="浜よ揣鏃ユ湡" + width="137"> + </el-table-column> + <el-table-column + prop="address" + label="鐘舵��" + width="85" + > + </el-table-column> + <el-table-column + fixed="right" + label="鎿嶄綔" + width="194"> + <template> + <el-button type="text" size="small">鏌ョ湅璇︽儏</el-button> + <el-button type="text" size="small">缂栬緫闄勪欢</el-button> + </template> + </el-table-column> + </el-table> + </div> + + + <el-pagination + :current-page="1" + :page-sizes="[100, 200, 300, 400]" + :page-size="100" + layout="total, sizes, prev, pager, next, jumper" + :total="400"> + </el-pagination> + </div> + </div> +</template> + +<script> +export default { + data() { + return { + searchData:{ + number:'', + date:'' + }, + technicalTable: [{ + date: '2016-05-02', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-04', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-01', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + }, { + date: '2016-05-03', + name: '鐜嬪皬铏�', + address: '涓婃捣甯�' + } + ] + } + }, +} +</script> diff --git a/src/main.js b/src/main.js index 123cd67..5724f71 100644 --- a/src/main.js +++ b/src/main.js @@ -89,18 +89,18 @@ }) // 璺敱鎷︽埅鍣� -router.beforeEach((to, from, next) => { - // 璺緞涓簆roduct鏃堕獙璇佹槸鍚︾櫥褰曪紝娌℃湁璺宠浆鑷崇櫥褰曢〉闈� - if (to.path.indexOf('/') > -1 && to.path.indexOf('/enter') != 0) { - if (sessionStorage.getItem('token') == null || sessionStorage.getItem('token') == '' || sessionStorage.getItem( - 'token') == undefined) { - next({ - path: '/enter' - }) - } - } - next() -}); +// router.beforeEach((to, from, next) => { +// // 璺緞涓簆roduct鏃堕獙璇佹槸鍚︾櫥褰曪紝娌℃湁璺宠浆鑷崇櫥褰曢〉闈� +// if (to.path.indexOf('/') > -1 && to.path.indexOf('/enter') != 0) { +// if (sessionStorage.getItem('token') == null || sessionStorage.getItem('token') == '' || sessionStorage.getItem( +// 'token') == undefined) { +// next({ +// path: '/enter' +// }) +// } +// } +// next() +// }); new Vue({ el: '#app', diff --git a/src/view/index.vue b/src/view/index.vue index 506eed6..67a9dbd 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -282,7 +282,7 @@ k: 2, v: "鎶�鏈枃浠�", i: "font icon-shouye", - u: "" + u: "technical" }] }, { k: 2, @@ -292,7 +292,7 @@ k: 3, v: "鍘熸潗鏂欐楠�", i: "font icon-shouye", - u: "" + u: "rawInsBox" }, { k: 4, v: "鍘熸潗鏂欎笉鍚堟牸鍝�", @@ -330,14 +330,14 @@ u: "" }] }], - activeBox: 1, - activeP: 1, - tabActive: 1, + activeBox: 0, + activeP: 0, + tabActive: 0, tabs: [{ - k: 1, - v: "鏍囧噯BOM", + k: 0, + v: "棣栭〉", i: "font icon-shouye", - u: "standard" + u: "index-index" }], upIndex: 0 }; -- Gitblit v1.9.3