From 14cd7084961205846e3ca8770da70dce9e2bbe75 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 20 三月 2024 15:48:54 +0800 Subject: [PATCH] 完成样品管理页面 --- src/components/do/b1-sample/detail.vue | 159 +++++++ src/components/view/b1-report-preparation.vue | 4 src/components/view/b1-sample.vue | 1023 +++++++++++++++++++++++++++++++++++++++++++++++++++ static/js/menu.js | 2 static/img/扫码.svg | 1 5 files changed, 1,186 insertions(+), 3 deletions(-) diff --git a/src/components/do/b1-sample/detail.vue b/src/components/do/b1-sample/detail.vue new file mode 100644 index 0000000..c4c1a06 --- /dev/null +++ b/src/components/do/b1-sample/detail.vue @@ -0,0 +1,159 @@ +<template> + <div style="width: 100%;height: 100%;overflow-y: auto;"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">鏍峰搧璇︽儏</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="small" @click="hanldeBack">杩斿洖</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">鏍峰搧缂栧彿锛�</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鏍峰搧鏁伴噺锛�</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鏍峰搧鍚嶇О锛�</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鍗曚綅锛�</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鍏ュ簱鏃堕棿锛�</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鍏ュ簱浜猴細</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">搴撲綅鍙凤細</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="entity.sample" disabled></el-input> + </div> + </div> + </div> + <h4>妫�楠岄」鐩�</h4> + <div class="table"> + <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border> + <el-table-column type="index" align="center" label="搴忓彿" width="70" :key="Math.random()"> + </el-table-column> + <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」" min-width="100" + show-overflow-tooltip></el-table-column> + <el-table-column prop="sonLaboratory" label="妫�楠岄」鍒嗙被" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="method" label="瀹為獙瀹�" min-min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="unit" label="鍗曚綅" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="price" label="璁惧" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="manDay" label="濮旀墭缂栧彿" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="manHourGroup" label="妫�楠屼汉" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="section" label="妫�楠屾椂闂�" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="ask" label="缁撹" min-width="100"> + <template slot-scope="scope"> + <el-tag + :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag> + </template> + </el-table-column> + </el-table> + </div> + <h4>鍑哄叆搴撳巻鍙�</h4> + <div class="table" style="margin-bottom: 20px;"> + <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border> + <el-table-column type="index" align="center" label="搴忓彿" width="70" :key="Math.random()"> + </el-table-column> + <el-table-column prop="inspectionItemSubclass" label="绫诲瀷" + show-overflow-tooltip></el-table-column> + <el-table-column prop="sonLaboratory" label="鎿嶄綔浜�" show-overflow-tooltip></el-table-column> + <el-table-column prop="method" label="鎿嶄綔鏃堕棿" show-overflow-tooltip></el-table-column> + <el-table-column prop="unit" label="搴撲綅鍙�" show-overflow-tooltip></el-table-column> + <el-table-column prop="price" label="瀛樻斁鍛ㄦ湡锛坔锛�" show-overflow-tooltip></el-table-column> + </el-table> + </div> + </div> +</template> + +<script> +export default { + data(vm) { + return{ + entity:{}, + productList:[] + } + }, + methods:{ + hanldeBack(){ + this.$emit('hanldeBack') + } + } +} +</script> + +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 120px; + display: flex; + align-items: center; + flex-wrap: wrap; + } + + .search_thing { + display: flex; + align-items: center; + height: 40px; + } + + .search_label { + width: 120px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 120px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + padding: 20px; + } + h4{ + font-size: 16px; + font-weight: normal; + margin-top: 10px; + margin-left: 20px; + } + +</style> diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue index 10fa4a4..1f90830 100644 --- a/src/components/view/b1-report-preparation.vue +++ b/src/components/view/b1-report-preparation.vue @@ -57,7 +57,7 @@ <div class="search_thing"> <div class="search_label">鐘舵�侊細</div> <div class="search_input"> - <el-select v-model="componentData.entity.status" placeholder="鍏ㄩ儴"> + <el-select v-model="componentData.entity.status" placeholder="鍏ㄩ儴" size="small"> <el-option v-for="item in statusList" :key="item.value" @@ -188,7 +188,7 @@ entityCopy: {}, upIndex: 0, statusList:[], - claimVisible:true + claimVisible:false } }, mounted() { diff --git a/src/components/view/b1-sample.vue b/src/components/view/b1-sample.vue new file mode 100644 index 0000000..e05bf0f --- /dev/null +++ b/src/components/view/b1-sample.vue @@ -0,0 +1,1023 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + position: relative; + } + + .search_thing { + display: flex; + align-items: center; + height: 50px; + } + + .search_label { + width: 90px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 120px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } + + .el-form-item { + margin-bottom: 16px; + } + + .btns{ + position: absolute; + right: 10px; + top: 25px; + display: flex; + align-items: center; + z-index: 9; + } + + .tables{ + width: 100%; + height: 100%; + border-bottom: none; + } + + .tables th{ + font-size: 14px; + } + + .tables td{ + font-size: 12px; + text-align: center; + vertical-align: top; + border-color: rgb(192, 191, 191) !important; + padding: 5px; + } + + .tables ul{ + list-style-type: none; + } + + .tables ul li{ + border-radius: 3px; + padding: 4px 10px; + box-sizing: border-box; + margin-bottom: 5px; + font-size: 12px; + display: flex; + align-items: center; + justify-content: start; + color: #333333; + cursor: pointer; + } + + .tables h4{ + color: #999999; + font-size: 14px; + font-weight: 400; + padding: 6px 0; + } + + .tables i { + display: inline-block; + width: 6px; + height: 6px; + border-radius: 50%; + margin-right: 6px; + } + + .blue{ + background: rgba(58,123,250,0.18); + } + + .blue i{ + background: #3A7BFA; + } + + .blue .num{ + color: #3A7BFA; + } + + .green{ + background: #E0F6EA; + } + + .green i{ + background: #34BD66; + } + + .green .num{ + color: #34BD66; + } + + .el-dialog{ + position: relative; + } + + .shaoma{ + display: flex; + align-items: center; + font-size: 14px; + color: #3A7BFA; + position: absolute; + top: 23px; + right: 54px; + cursor: pointer; + } + + .node_i { + color: orange; + font-size: 18px; + } + + .custom-tree-node .el-button { + opacity: 0; + } + + .custom-tree-node:hover .el-button { + opacity: 1; + } +</style> + +<template> + <div class="inspection_order"> + <div style="width: 100%;height: 100%;" v-if="!isDetail"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">鏍峰搧绠$悊</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="small" type="primary" @click="storageVisible=true">鍏ュ簱</el-button> + <el-button size="small" type="primary" @click="exportVisible=true">鍑哄簱</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">浠撳簱鍚嶇О锛�</div> + <div class="search_input"> + <el-select v-model="entity.status" placeholder="鍏ㄩ儴" size="small"> + <el-option + v-for="item in statusList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </div> + </div> + <div class="search_thing"> + <div class="search_label">璐ф灦锛�</div> + <div class="search_input"> + <el-select v-model="entity.status" placeholder="鍏ㄩ儴" size="small"> + <el-option + v-for="item in statusList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + <div class="btns"> + <el-button size="small" style="color:#3A7BFA" @click="keepVisible=true">缁存姢</el-button> + <el-button size="small" style="color:#3A7BFA" @click="warehouseVisible=true">娣诲姞浠撳簱</el-button> + <el-button size="small" style="color:#3A7BFA" @click="shelvesVisible=true">娣诲姞璐ф灦</el-button> + </div> + </div> + <div class="table"> + <table border="1" class="tables" cellpadding="10"> + <tbody> + <tr v-for="(item,index) in tableList" :key="index"> + <td v-for="(m,i) in item" :key="i" class="content"> + <h4>{{ m.title }}</h4> + <ul> + <li v-for="(n,j) in m.list" :key="j" :class="{blue:n.type==0,green:n.type==1}" @click="handelDetail(n)"> + <i></i> + <span>{{ n.name }}</span> + <span> ({{ n.specs }}) </span> + <span class="num"> x{{ n.num }}</span> + </li> + </ul> + </td> + </tr> + <tr> + <td v-for="(item,index) in rowList" :key="index" style="background: ghostwhite;height: 20px;">{{ item }}</td> + </tr> + </tbody> + </table> + </div> + </div> + <Detail v-else @hanldeBack="isDetail=false"/> + <el-dialog title="鏍峰搧鍏ュ簱" :visible.sync="storageVisible" width="350px"> + <div class="shaoma"> + <img src="../../../static/img/鎵爜.svg" alt="" style="margin-right: 5px;"> + <span>鎵爜鍏ュ簱</span> + </div> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label" + :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" + @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="storageVisible"> + <div class="custom-tree-node" slot-scope="{ node, data }"> + <el-row> + <el-col :span="24"> + <span><i + :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> + {{ data.code }} {{ data.label }}</span> + </el-col> + </el-row> + </div> + </el-tree> + <span slot="footer" class="dialog-footer"> + <el-button @click="storageVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmStorage" :loading="upLoadStorage">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog title="鏍峰搧鍑哄簱" :visible.sync="exportVisible" width="350px"> + <div class="shaoma"> + <img src="../../../static/img/鎵爜.svg" alt="" style="margin-right: 5px;"> + <span>鎵爜鍑哄簱</span> + </div> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="exportVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmExport" :loading="upLoadExport">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog title="搴撲綅缁存姢" :visible.sync="keepVisible" width="350px"> + <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label" + :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" + @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible"> + <div class="custom-tree-node" style="width: 100%;" slot-scope="{ node, data }"> + <el-row style="width: 100%;display: flex;align-items: center;"> + <el-col :span="20"> + <span><i + :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> + {{ data.code }} {{ data.label }}</span> + </el-col> + <el-col :span="4" v-if="node.level<3"> + <el-button + type="text" + size="mini" icon="el-icon-edit" @click.stop="handleEdit(data,node.level)"> + </el-button> + <el-button + type="text" + size="mini" icon="el-icon-delete" @click.stop="handleDelete(data,node.level)"> + </el-button> + </el-col> + </el-row> + </div> + </el-tree> + <span slot="footer" class="dialog-footer"> + <el-button @click="keepVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmKeep" :loading="upLoadKeep">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog :title="isEdit?'浠撳簱淇敼':'浠撳簱鏂板'" :visible.sync="warehouseVisible" width="350px"> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label"><span class="required-span">* </span>浠撳簱鍚嶇О锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="warehouseVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmWarehouse" :loading="upLoadWarehouse">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog :title="isEdit?'璐ф灦淇敼':'璐ф灦鏂板'" :visible.sync="shelvesVisible" width="350px"> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label"><span class="required-span">* </span>璐ф灦鍚嶇О锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label"><span class="required-span">* </span>璐ф灦灞傛暟锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <el-row> + <el-col class="search_thing" :span="24"> + <div class="search_label">璐ф灦鍒楁暟锛�</div> + <div class="search_input"> + <el-input v-model="value" size="small"></el-input> + </div> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="shelvesVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import Detail from '../do/b1-sample/detail.vue' + export default { + components: { + Detail + }, + data() { + return { + entity: {}, + statusList:[], + storageVisible:false, + exportVisible:false, + keepVisible:false, + warehouseVisible:false, + shelvesVisible:false, + upLoadStorage:false, + upLoadExport:false, + upLoadKeep:false, + upLoadWarehouse:false, + upLoadShelves:false, + tableList:[ + [ + { + title:'1-1-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-2-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-3-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-4-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-5-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-6-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-7-4', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + ], + [ + { + title:'1-1-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-2-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-3-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-4-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-5-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-6-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-7-3', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + ], + [ + { + title:'1-1-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-2-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-3-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-4-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-5-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-6-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-7-2', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + ], + [ + { + title:'1-1-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-2-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-3-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-4-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-5-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-6-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + { + title:'1-7-1', + list:[ + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸1', + num:20, + type:0, + }, + { + name:'鍘熸潗鏂�', + specs:'瑙勬牸2', + num:20, + type:1, + }, + ] + }, + ] + ], + rowList:[ + '1鍒�', + '2鍒�', + '3鍒�', + '4鍒�', + '5鍒�', + '6鍒�', + '7鍒�', + ], + value:'', + list:[ + { + code:1, + label:'鐖剁骇', + children:[ + { + code:1, + label:'瀛愮骇1', + children:[ + { + code:1, + label:'瀛愮骇2', + children:[ + { + code:1, + label:'瀛愮骇3', + } + ] + } + ] + } + ] + } + ], + selectTree: null, + expandedKeys: [], + isEdit:false,//寮规--鏄惁鏄慨鏀�,榛樿涓篺alse + isDetail:false,//璇︽儏--鏄惁灞曠ず涓鸿鎯呴〉闈紝榛樿涓篺alse + } + }, + mounted() { + }, + methods: { + selectStandardTreeList() { + this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { + this.list = res.data + this.list.forEach(a => { + a.children.forEach(b => { + this.expandedKeys.push(b.label) + }) + }) + }) + }, + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.entity = this.HaveJson(this.entity) + }, + handleClose() { + this.upLoad = false; + }, + // 鍏ュ簱 + confirmStorage(){ + if(!this.value){ + this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�') + return + } + let trees = this.selectTree.split(" - ") + if (trees.length < 4) { + this.$message.error('鏈�夋嫨鏍峰搧') + return + } + this.upLoadStorage = true; + }, + // 鍑哄簱 + confirmExport(){ + if(!this.value){ + this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�') + return + } + this.upLoadExport = true; + }, + // 缁存姢 + confirmKeep(){ + this.upLoadKeep = true; + }, + // 娣诲姞浠撳簱 + confirmWarehouse(){ + if(!this.value){ + this.$message.error('璇峰~鍐欎粨搴撳悕绉�') + return + } + this.upLoadWarehouse = true; + }, + // 娣诲姞璐ф灦 + confirmShelves(){ + if(!this.value){ + this.$message.error('璇峰~鍐欒揣鏋跺悕绉�') + return + } + this.upLoadShelves = true; + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + handleNodeClick(val, node, el) { //鏍戠殑鍊� + this.selectTree = '' + this.getNodeParent(node) + this.selectTree = this.selectTree.replace(' - ', '') + let data = this.selectTree.split(' - ') + let data2 = '' + for (let index = data.length - 1; index >= 0; index--) { + data2 += " - " + data[index] + } + this.selectTree = data2.replace(' - ', '') + }, + getNodeParent(val) { + if (val.parent != null) { + this.selectTree += ' - ' + val.label + this.getNodeParent(val.parent) + } + }, + nodeOpen(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') + }, + nodeClose(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') + }, + handleDelete(row,level){ + this.$confirm('鏄惁褰撳墠鏁版嵁?', "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + this.$axios.post(this.$api.insOrder.delInsOrderTemplate, { + id: row.id + }).then(res => { + if (res.code === 201) { + return + } + this.$message.success('鎴愬姛') + // this.selectInsOrderTemplate() + }).catch(e => { + this.$message.error('澶辫触') + }) + }).catch(() => {}) + }, + handleEdit(data,level){ + this.isEdit = true; + // 鍒ゆ柇鏄鍑犲眰绾э紝绗竴灞傜骇锛屼慨鏀逛粨搴擄紝绗簩灞傜骇淇敼璐ф灦 + if(level==1){ + this.warehouseVisible = true; + }else{ + this.shelvesVisible = true; + } + }, + // 鏌ョ湅璇︽儏 + handelDetail(row){ + this.isDetail = true; + } + } + } +</script> diff --git "a/static/img/\346\211\253\347\240\201.svg" "b/static/img/\346\211\253\347\240\201.svg" new file mode 100644 index 0000000..e8f3d49 --- /dev/null +++ "b/static/img/\346\211\253\347\240\201.svg" @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1710830528536" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2013" width="18" height="18" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M928 544 96 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l832 0c17.696 0 32 14.336 32 32S945.696 544 928 544zM832 928l-192 0c-17.696 0-32-14.304-32-32s14.304-32 32-32l192 0c17.664 0 32-14.336 32-32l0-160c0-17.696 14.304-32 32-32s32 14.304 32 32l0 160C928 884.928 884.928 928 832 928zM352 928 192 928c-52.928 0-96-43.072-96-96l0-160c0-17.696 14.336-32 32-32s32 14.304 32 32l0 160c0 17.664 14.368 32 32 32l160 0c17.664 0 32 14.304 32 32S369.664 928 352 928zM128 384c-17.664 0-32-14.336-32-32L96 192c0-52.928 43.072-96 96-96l160 0c17.664 0 32 14.336 32 32s-14.336 32-32 32L192 160C174.368 160 160 174.368 160 192l0 160C160 369.664 145.664 384 128 384zM896 384c-17.696 0-32-14.336-32-32L864 192c0-17.632-14.336-32-32-32l-192 0c-17.696 0-32-14.336-32-32s14.304-32 32-32l192 0c52.928 0 96 43.072 96 96l0 160C928 369.664 913.696 384 896 384z" fill="#3A7BFA" p-id="2014"></path></svg> \ No newline at end of file diff --git a/static/js/menu.js b/static/js/menu.js index 6e89662..9ba4edd 100644 --- a/static/js/menu.js +++ b/static/js/menu.js @@ -37,7 +37,7 @@ }, { v: "鏍峰搧绠$悊", i: "font icon-erjidaohang", - u: "", + u: "b1-sample", p: "" }] }, -- Gitblit v1.9.3