src/api/standardLibrary.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/layout/components/Sidebar/SidebarItem.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/laboratory/ledger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/laboratory/personnel/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/standardLibrary/SpecificationDetails.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/standardLibrary/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/standardLibrary.js
@@ -119,11 +119,11 @@ } // 删除物料信息 export function deleteMaterial(data) { export function deleteMaterial(params) { return request({ url: '/material/delete', method: 'delete', data params }) } @@ -164,10 +164,10 @@ } // 删除子项目信息 export function deleteProduct(data) { export function deleteProduct(params) { return request({ url: '/product/delete', method: 'delete', data params }) } src/layout/components/Sidebar/SidebarItem.vue
@@ -4,11 +4,11 @@ <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> <el-menu-item v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> <!-- <el-menu-item :style="{width:'0px',height:'0px'}" v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> --> <!-- <el-menu-item :style="{width:'0px',height:'0px'}" v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> --> <!-- <template slot="title"> <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> </template> --> <item :show="onlyOneChild.meta.show" :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> <item :show="onlyOneChild.meta.show" :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> <span v-if="onlyOneChild.meta.title==='主页'">主页</span> </el-menu-item> </app-link> src/views/laboratory/ledger/index.vue
@@ -19,14 +19,24 @@ </el-form> </div> <div class="serve-btn"> <el-button type="primary" icon="el-icon-plus">新增人员</el-button> <el-button type="primary" icon="el-icon-plus" @click="drawerFormVisible = true">新增人员</el-button> </div> </div> <div class="content-main"> <div class="library-bom"> <el-input placeholder="输入关键字进行过滤" /> <div class="bom-item-search"> <el-row> <el-col :span="19"> <el-input v-model="filterText" placeholder="输入关键字进行过滤" /> </el-col> <el-col :span="5"> <el-button type="primary" size="small" @click="FormVisible = true"><i class="el-icon-plus" /></el-button> </el-col> </el-row> </div> <el-tree ref="classTree" :data="classTree" @@ -70,7 +80,7 @@ <el-table-column prop="equipment_code" label="仪器设备编号" min-width="150" min-width="200" /> <el-table-column prop="equipment_name" @@ -93,7 +103,7 @@ min-width="200" /> <el-table-column prop="incumbentStatus" prop="conditions" label="设备状态" min-width="120" > @@ -110,6 +120,11 @@ min-width="200" /> <el-table-column prop="storage_place" label="存放地" min-width="200" /> <el-table-column label="操作" min-width="120" fixed="right" @@ -120,6 +135,27 @@ </template> </el-table-column> </el-table> <!-- 弹出表单页 --> <div> <!-- 添加分类 --> <el-dialog title="添加分类" :visible.sync="FormVisible" width="33%"> <el-form :model="treeForm"> <el-form-item label="分类名称" label-width="100px"> <el-input v-model="treeForm.name" autocomplete="off" /> </el-form-item> <el-form-item label="父级分类" label-width="100px"> <el-select v-model="treeForm.type" placeholder="请选择"> <el-option label="原材料" value="0" /> <el-option label="电线电缆" value="1" /> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="FormVisible = false">取 消</el-button> <el-button type="primary">确 定</el-button> </div> </el-dialog> </div> <div> <el-pagination :current-page="currentPage" @@ -134,6 +170,179 @@ </div> </div> </div> <!-- 抽屉 --> <el-drawer title="新增仪器设备" :before-close="handleClose" :visible.sync="drawerFormVisible" direction="rtl" custom-class="demo-drawer" ref="drawer" size="40%" > <div class="demo-drawer__content"> <el-form label-position="top" :model="equipmentform"> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="所属分类:" label-width="80"> <el-select v-model="equipmentform.classifyId" clearable filterable :allow-create="true" placeholder="请选择" @blur="productSelect" style="width:100%" > <el-option v-for="item in fatherOpetions" :key="item.id" :label="item.label" :value="item.label" /> </el-select> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="设备编号:" label-width="80"> <el-input v-model="equipmentform.equipmentCode" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="仪器设备名称:" label-width="80"> <el-input v-model="equipmentform.name" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="状态:" label-width="80"> <el-select v-model="equipmentform.classifyId" clearable filterable :allow-create="true" placeholder="请选择仪器设备状态" @blur="productSelect" style="width:100%" > <el-option v-for="item in fatherOpetions" :key="item.id" :label="item.label" :value="item.label" /> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="型号规格:" label-width="80"> <el-input v-model="equipmentform.specification_models" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="测量范围:" label-width="80"> <el-input v-model="equipmentform.measuringRange" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="不确定度/准确度/最大允许误差:" label-width="80"> <el-input v-model="equipmentform.errorRate" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="生产厂家:" label-width="80"> <el-input v-model="equipmentform.manufacturer" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="存放地点:" label-width="80"> <el-input v-model="equipmentform.storagePlace" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="到货日期:" label-width="80"> <el-date-picker v-model="equipmentform.arrivalDate" type="date" placeholder="请选择到货日期" style="width:100%"> </el-date-picker> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="验收日期:" label-width="80"> <el-date-picker v-model="equipmentform.acceptanceDate" type="date" placeholder="请选择验收日期" style="width:100%"> </el-date-picker> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="保管人:" label-width="80"> <el-select v-model="equipmentform.keeper" clearable filterable :allow-create="true" placeholder="请选择保管人" @blur="productSelect" style="width:100%" > <el-option v-for="item in fatherOpetions" :key="item.id" :label="item.label" :value="item.label" /> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="是否支持数采:" label-width="80"> <el-radio v-model="equipmentform.whetherDataAcquisition" label="1">是</el-radio> <el-radio v-model="equipmentform.whetherDataAcquisition" label="2">否</el-radio> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="仪器设备计量:" label-width="80"> <el-radio v-model="equipmentform.equipmentMeasurement" label="1">需要</el-radio> <el-radio v-model="equipmentform.equipmentMeasurement" label="2">不需要</el-radio> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="描述:" label-width="80"> <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model=equipmentform.descriptiveness style="width:217%"> </el-input> </el-form-item> </el-col> </el-row> </el-form> <div class="demo-drawer__footer"> <el-button @click="drawerFormVisible = false" class="el-button--default">取 消</el-button> <el-button type="primary" class="el-button--primary el-button--medium">确 定</el-button> </div> </div> </el-drawer> <!-- --> <el-drawer title="仪器设备详情" @@ -242,6 +451,20 @@ }] }] }], treeForm: [{ name: '', type: '' }], personnerlTable: [{ specification_models: 'WCDMS-1', // 型号规格 equipment_name: '数字电桥', // 仪器设备名称 term_validity: 12, // 计量截止有效期 equipment_code: 'JSTC-W1-00001', // 仪器设备编号 keeper: 0, // 保管人 id: 1, // 序号 conditions: 1, // 设备状态 storage_place: '地球亚洲中国江苏南通' // 存放地 }], // tree默认值 defaultProps: { children: 'children', @@ -255,6 +478,28 @@ radioValue: '全部', // 表格搜索已过期 isOut: false, FormVisible: false, drawerFormVisible: false, loading: false, equipmentform: { acceptanceDate: '', // 验收日期 arrivalDate: '', // 到货日期 classifyId: '', // 所属分类 conditions: '', // 状态 descriptiveness: '', // 描述 equipmentCode: '', // 设备编号 equipmentMeasurement: '', // 仪器设备计量 equipmentName: '', // 仪器设备名称 errorRate: '', // 不确定度/准确度/最大允许误差 keeper: '', // 保管人 manufacturer: '', // 生产厂家 measuringRange: '', // 测量范围 specificationsModels: '', // 型号规格 storagePlace: '', // 存放地点 whetherDataAcquisition: '' // 是否支持数采 }, timer: null, formLabelWidth: '80', detailDrawer: false, editDrawer: false, equipmentTable: [], @@ -313,11 +558,49 @@ handleCurrentChange() { // 当前页更改 } }, handleClose(done) { if (this.loading) { return } this.$confirm('确定要提交表单吗?') .then(_ => { this.loading = true this.timer = setTimeout(() => { done() // 动画关闭需要一定的时间 setTimeout(() => { this.loading = false }, 400) }, 2000) }) .catch(_ => {}) } } </script> <style lang="scss" scoped> .demo-drawer__content{ margin-left: 50px; // margin-right: 5px; } .demo-drawer__footer { display: flex; justify-content: space-between; } .demo-drawer__footer .el-button--default { background-color: #fff; color: #333; width: 45%; } .demo-drawer__footer .el-button--primary { background-color: #409EFF; color: #fff; width: 45%; margin-right: 60px; } .ledger-main{ width: 100%; height: 100%; @@ -357,6 +640,43 @@ .library-bom{ flex: 2; margin-right: 12px; .bom-item-search{ margin-bottom: 12px; ::v-deep .el-input{ input{ height: 33px; line-height: 33px; } } .tips{ height: 33px !important; display: flex; height: 24px; align-items: center; font-size: 16px; // margin-bottom: 12px; >span{ display: inline-block; margin-right: 10px; width: 4px; height: 16px; background: #0077DB; } >div{ height: 100%; line-height: 36px; } .el-button{ padding: 0; } } } .bom-item-search .el-row{ // display: flex; .el-col{ text-align: right; } } .el-tree { margin-top: 12px; ::v-deep .el-tree-node__content{ src/views/laboratory/personnel/index.vue
@@ -21,8 +21,8 @@ <div class="serve-btn"> <el-button type="primary" icon="el-icon-plus" @click="dialogFormVisible = true">新增人员</el-button> <el-dialog title="新增人员" :visible.sync="dialogFormVisible"> <el-form ref="form" :model="form" :rules="rules"> <el-dialog title="新增人员" :visible.sync="dialogFormVisible" width="30%"> <el-form :model="form" :rules="rules"> <el-form-item label="账号" :label-width="formLabelWidth" prop="account"> <el-input v-model="form.account" autocomplete="off" /> </el-form-item> @@ -158,7 +158,7 @@ phone: '', role_id: '' }, formLabelWidth: '120px', formLabelWidth: '100px', rules: { account: [ { src/views/standardLibrary/SpecificationDetails.vue
@@ -51,7 +51,7 @@ <el-button size="mini" type="text" @click="showChangeMaterial(data)">编辑</el-button> </div> <div> <el-button size="mini" type="text">删除</el-button> <el-button size="mini" type="text" @click="delmaterialFormVisible=true">删除</el-button> </div> </div> <el-button @@ -100,7 +100,7 @@ <el-button size="mini" type="text" @click="showChangeProject(data)">编辑</el-button> </div> <div> <el-button size="mini" type="text">删除</el-button> <el-button size="mini" type="text" @click="delProductFormVisible = true">删除</el-button> </div> </div> <el-button @@ -143,14 +143,10 @@ <span /> <div>测试标准</div> </div> <!-- <div class="tips-btn"> <span><i class="el-icon-edit" />操作:</span> <el-button type="text">编辑</el-button> </div> --> </div> <div class="message"> <div class="message-item"> <el-tag type="primary"><i class="el-icon-info" :style="{marginRight:'4px', color:'#409EFF'}"/>单位:欧姆</el-tag> <el-tag type="primary"><i class="el-icon-info" :style="{marginRight:'4px', color:'#409EFF'}" />单位:欧姆</el-tag> </div> <div class="message-item"> <span><i class="el-icon-edit" />招标人员要求:{{ detailInfo.required }}</span> @@ -162,7 +158,7 @@ </div> </div> <!-- 添加以及修改的模态框 --> <el-dialog title="添加物料" :visible.sync="materialFormVisible"> <el-dialog title="添加物料" :visible.sync="materialFormVisible" width="35%"> <el-form :model="addMaterialForm"> <el-row :gutter="20"> <el-col :span="12"> @@ -218,7 +214,7 @@ <el-button @click="dialogFormVisible = false">取 消</el-button> </div> </el-dialog> <el-dialog title="添加子项目" :visible.sync="projectFormVisible"> <el-dialog title="添加子项目" :visible.sync="projectFormVisible" width="35%"> <el-form :model="addProjectForm"> <el-row :gutter="20"> <el-col :span="12"> @@ -294,7 +290,7 @@ <el-button @click="projectFormVisible = false">取 消</el-button> </div> </el-dialog> <el-dialog title="修改物料" :visible.sync="changeMaterialFormVisible"> <el-dialog title="修改物料" :visible.sync="changeMaterialFormVisible" width="35%"> <el-form :model="changeMaterialForm"> <el-row :gutter="20"> <el-col :span="12"> @@ -338,7 +334,7 @@ <el-button @click="changeMaterialFormVisible = false">取 消</el-button> </div> </el-dialog> <el-dialog title="修改子项目" :visible.sync="changeProjectFormVisible"> <el-dialog title="修改子项目" :visible.sync="changeProjectFormVisible" width="35%"> <el-form :model="changeProjectForm"> <el-row :gutter="20"> <el-col :span="12"> @@ -398,11 +394,33 @@ <el-button @click="projectFormVisible = false">取 消</el-button> </div> </el-dialog> <el-dialog title="提示" :visible.sync="delmaterialFormVisible" width="30%" > <span>确认删除该物料吗?</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="deleteMaterial">确 定</el-button> <el-button @click="delmaterialFormVisible = false">取 消</el-button> </span> </el-dialog> <el-dialog title="提示" :visible.sync="delProductFormVisible" width="30%" > <span>确认删除该子项目吗?</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="deleleProduct">确 定</el-button> <el-button @click="delProductFormVisible = false">取 消</el-button> </span> </el-dialog> </div> </template> <script> import { getMaterialList, getProductList, getProductProductId, addMaterial, addProduct, getMaterialDetail, updateMaterial, updateProduct } from '@/api/standardLibrary' import { getMaterialList, getProductList, getProductProductId, addMaterial, addProduct, getMaterialDetail, updateMaterial, updateProduct, deleteMaterial, deleteProduct } from '@/api/standardLibrary' export default { name: 'SpecificationDetail', data() { @@ -427,14 +445,18 @@ materialTreeDefault: [], projectTreeDefault: [], materialFormVisible: false, delmaterialFormVisible: false, changeMaterialFormVisible: false, projectFormVisible: false, changeProjectFormVisible: false, delProductFormVisible: false, addMaterialForm: {}, changeMaterialForm: {}, addProjectForm: {}, changeProjectForm: {}, fatherOpetions: [] fatherOpetions: [], materialId: '', productId: '' } }, // 为了选中第一层级下的第一个节点 @@ -496,7 +518,6 @@ }, // 获取项目tree async getProjectTreeData(data) { // const { data: projectArr } = await getProductList({ materialId: data.id }) // console.log(projectArr) projectArr.map((item, index) => { @@ -515,6 +536,8 @@ materialTreeClick(data, node, element) { // 点击物料节点,查询对应的项目tree数据 console.log(data) // 得到物料Id this.materialId = data.id this.getProjectTreeData(data) }, // 项目库的节点点击 @@ -522,6 +545,7 @@ // 先判断点击的是父节点还是子节点 if (('children' in data)) return console.log('子项目节点', data) this.productId = data.id // const { data: detailInfo } = await getProductProductId({ productId: data.id }) // console.log('详情信息', detailInfo) @@ -585,6 +609,15 @@ this.changeProjectForm.name = data.name // console.log('修改后', this.changeMaterialForm) this.changeProjectFormVisible = true }, async deleteMaterial() { await deleteMaterial({ materialId: this.materialId }) this.delmaterialFormVisible = false }, async deleleProduct() { // console.log('productId', this.productId) await deleteProduct({ productId: this.productId }) this.delProductFormVisible = false } } } src/views/standardLibrary/index.vue
@@ -90,12 +90,12 @@ placement="top" width="30" > <div @click=" getRowID(scope.row)" style="text-align: center; margin: 0"> <div style="text-align: center; margin: 0" @click=" getRowID(scope.row)"> <div> <el-button size="mini" @click="dialogFormVisible4=true" type="text">编辑</el-button> <el-button size="mini" type="text" @click="dialogFormVisible4=true">编辑</el-button> </div> <div> <el-button size="mini" @click="dialogFormVisible5 = true" type="text">停用</el-button> <el-button size="mini" type="text" @click="dialogFormVisible5 = true">停用</el-button> </div> </div> <el-button slot="reference" type="text"><i class="el-icon-more" /></el-button> @@ -107,18 +107,18 @@ <!-- 弹出表单页 --> <div> <!-- 添加标准 --> <el-dialog title="添加标准" :visible.sync="dialogFormVisible1"> <el-form ref="standardForm" :model="standardForm" :rules="rulesStandard"> <el-form-item label="标准号" :label-width="formLabelWidth" prop="standardnumber"> <el-dialog title="添加标准" :visible.sync="dialogFormVisible1" width="33%"> <el-form :model="standardForm" :rules="rulesStandard"> <el-form-item label="标准号" label-width="100px" prop="standardnumber"> <el-input v-model="standardForm.standardnumber" autocomplete="off" /> </el-form-item> <el-form-item label="标准名称" :label-width="formLabelWidth" prop="standardname"> <el-form-item label="标准名称" label-width="100px" prop="standardname"> <el-input v-model="standardForm.standardname" autocomplete="off" /> </el-form-item> <el-form-item label="英文名称" :label-width="formLabelWidth" prop="standardenname"> <el-form-item label="英文名称" label-width="100px" prop="standardenname"> <el-input v-model="standardForm.engname" autocomplete="off" /> </el-form-item> <el-form-item label="父级分类" :label-width="formLabelWidth"> <el-form-item label="父级分类" label-width="100px"> <el-select v-model="standardForm.type" placeholder="请选择"> <el-option label="原材料" value="0" /> <el-option label="电线电缆" value="1" /> @@ -131,7 +131,7 @@ </div> </el-dialog> <!-- 添加型号 --> <el-dialog title="添加型号" :visible.sync="dialogFormVisible2"> <el-dialog title="添加型号" :visible.sync="dialogFormVisible2" width="30%"> <el-form ref="form" :model="modelForm" :rules="rulesModel"> <el-form-item label="型号" :label-width="formLabelWidth" prop="model"> <el-input v-model="modelForm.model" autocomplete="off" /> @@ -146,7 +146,7 @@ </div> </el-dialog> <!-- 添加规格 --> <el-dialog title="添加规格" :visible.sync="dialogFormVisible3"> <el-dialog title="添加规格" :visible.sync="dialogFormVisible3" width="30%"> <el-form ref="form" :model="specificationForm" :rules="rulesspecification"> <el-form-item label="规格名称" :label-width="formLabelWidth" prop="name"> <el-input v-model="specificationForm.name" autocomplete="off" /> @@ -185,7 +185,7 @@ </div> </el-dialog> <!-- 编辑规格 --> <el-dialog title="编辑规格" :visible.sync="dialogFormVisible4"> <el-dialog title="编辑规格" :visible.sync="dialogFormVisible4" width="30%"> <el-form ref="form" :model="editSpeForm" :rules="rulesspecification"> <el-form-item label="规格名称" :label-width="formLabelWidth" prop="name"> <el-input v-model="editSpeForm.name" autocomplete="off" /> @@ -234,7 +234,8 @@ <el-dialog title="提示" :visible.sync="dialogFormVisible5" width="30%"> width="30%" > <span>确认停用吗?</span> <span slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible5 = false">取 消</el-button> @@ -327,7 +328,7 @@ spe_state: '', voltageLevel: '' }], formLabelWidth: '120', formLabelWidth: '100px', rulesStandard: { standardnumber: [ { @@ -417,6 +418,7 @@ // 跳转产品规格详情页 this.$router.push(`/standardLibrary/SpecificationDetails/${row.id}`) }, // 获取当前规格的行id getRowID(row) { // console.log(row.id) this.id = row.id @@ -593,7 +595,13 @@ </script> <style lang="scss" scoped> // .dialogform { // transform: translate(-50%, -50%); // top: 50% !important; // left: 50% !important; // width: 1000px; // height: 800px; // } .standard-library-main{ width: 100%; height: 100%;