| src/api/zlgl.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/components/Pagination/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/jcsz/jsqd.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/scgl/gd.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/scgl/sckbg.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/template.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/zlgl/gxjy.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/zlgl/gxjybz.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/zlgl/gxjyxm.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/zlgl/qxdy.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/zlgl.js
@@ -70,6 +70,7 @@ params: data }) } // 工序检验项目新增、编辑提交 export function AddUpdateStepCheckItem(data) { return request({ @@ -78,6 +79,7 @@ data }) } // 工序检验项目删除 export function DeleteStepCheckItem(data) { return request({ @@ -86,3 +88,47 @@ params: data }) } // 工序检验标准删除 export function DeleteStepCheckStaned(data) { return request({ url: 'QualityManagement/DeleteStepCheckStaned', method: 'post', params: data }) } // 生产开报工,工序检验扫码获取任务信息 export function MesOrderStepCheckSearch(data) { return request({ url: 'ProductionManagement/MesOrderStepCheckSearch', method: 'get', params: data }) } // 生产开报工,工序检验获取检验标准下拉框数据 export function MesOrderStepCheckSelect() { return request({ url: 'ProductionManagement/MesOrderStepCheckSelect', method: 'get' }) } // 生产开报工,工序检验根据检验标准获取检验项目列表 export function MesOrderStepCheckItemList(data) { return request({ url: 'ProductionManagement/MesOrderStepCheckItemList', method: 'get', params: data }) } // 生产开报工,工序检验提交保存 export function SaveMesOrderStepCheckItem(data) { return request({ url: 'ProductionManagement/SaveMesOrderStepCheckItem', method: 'post', data }) } src/components/Pagination/index.vue
@@ -36,7 +36,7 @@ pageSizes: { type: Array, default() { return [5, 10, 20, 100] return [10, 20, 50, 100] } }, layout: { src/views/jcsz/jsqd.vue
@@ -975,49 +975,24 @@ type: '' } const { data: res } = await RoleAssociationRight(data)// 接口获取数据 // '0'显示 '1' 不显示 this.dialogFormRight.rightPCArr = res[0][0].is_delete === '0' ? res[0] : [] this.dialogFormRight.rightAPPArr = res[1][0].is_delete === '0' ? res[1] : [] this.PCTrue = res[0][0].is_delete === '0' this.APPTrue = res[1][0].is_delete === '0' // '0'显示 '1' 不显示 过滤出相对应的菜单 if (this.PCTrue) { this.dialogFormRight.rightPCArr[0].children.forEach((item, index) => { if (item.is_delete === '1') { this.dialogFormRight.rightPCArr[0].children.splice(index, 1) } else { if (item.children.length > 0 && item.children) { item.children.forEach((it, ind) => { console.log(it, 9) console.log(it.is_delete, 9) if (it.is_delete === '1') { item.children.splice(ind, 1) } }) } if (item.children.length === 0) { this.dialogFormRight.rightPCArr[0].children.splice(index, 1) } } this.dialogFormRight.rightPCArr[0].children = this.dialogFormRight.rightPCArr[0].children.filter(item => item.is_delete === '0') this.dialogFormRight.rightPCArr[0].children.forEach(item => { item.children = item.children.filter(it => it.is_delete === '0') }) } if (this.APPTrue) { this.dialogFormRight.rightAPPArr[0].children.forEach((item, index) => { if (item.is_delete === '1') { this.dialogFormRight.rightAPPArr[0].children.splice(index, 1) } else { if (item.children.length > 0 && item.children) { item.children.forEach((it, ind) => { if (it.is_delete === '1') { item.children.splice(ind, 1) } }) } if (item.children.length === 0) { this.dialogFormRight.rightAPPArr[0].children.splice(index, 1) } } this.dialogFormRight.rightAPPArr[0].children = this.dialogFormRight.rightAPPArr[0].children.filter(item => item.is_delete === '0') this.dialogFormRight.rightAPPArr[0].children.forEach(item => { item.children = item.children.filter(it => it.is_delete === '0') }) } src/views/scgl/gd.vue
@@ -997,12 +997,11 @@ if (res.code === '200') { // 参数具体说明请参考帮助文档中的“WEB报表(B/S报表)->WEB报表客户端->启动参数说明”部分 var args = { type: 'print', // preview print showOptionDlg: false, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 type: 'preview', // preview print showOptionDlg: true, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 report: urlAddRandomNo('./static/grf/产品流传单A4.grf'), data: res.data } webapp_ws_ajax_run(args) } }, src/views/scgl/sckbg.vue
@@ -1,7 +1,6 @@ <template> <div> <div class="body" style="padding: 0;height: 100%" :style="{height:mainHeight+'px'}"> <el-tabs ref="elTabs" v-model="activeName" type="border-card" @tab-click="tabClick"> <el-tab-pane label="生产列表"> <div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between"> @@ -302,192 +301,6 @@ popper-class="select_bottom" @pagination="getMesOrderStepSearch" /> </el-tab-pane> <el-tab-pane label="工序检验"> <div style="margin-left: 10px;margin-top:10px;display: flex;flex-direction: column"> <div style="margin-bottom: 10px;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />扫码信息 </div> <div style="display: flex;align-items: center"> <div style="width: 90px">扫描条码:</div> <el-input v-model="GXform.orderstepqrcode" name="GXproduceCode" style="width: 300px" @keyup.enter.native="val=>enterNative(val,'GXproduceCode')" /> </div> <!-- 六项信息 --> <div style="display:flex;margin-top: 10px;align-items: center"> <div style="display: flex;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">工单编码:</div> <div style="width: 100px">PX00120012312</div> </div> <div style="display: flex;"> <div style="width: 90px">产品编码:</div> <div style="width: 100px">123-446-789</div> </div> </div> <div style="display: flex;margin-left: 30px;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">产品名称:</div> <div style="width: 100px">PX00120012312</div> </div> <div style="display: flex;"> <div style="width: 90px">产品规格:</div> <div style="width: 100px">123-446-789</div> </div> </div> <div style=" display: flex;margin-left: 30px;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">工序编码:</div> <div>PX00120012312</div> </div> <div style="display: flex;"> <div style="width: 90px">工序名称:</div> <div>123-446-789</div> </div> </div> </div> <div style="margin: 10px 0;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />检验标准信息 </div> <div style="display: flex;align-items: center"> <div style="width: 90px">检验标准:</div> <el-select v-model="dialogForm.aaa" style="width: 200px;" placeholder="请选择" filterable > <el-option v-for="item in ARR" :key="item.code" :label="item.name" :value="item.code" /> </el-select> <div style="width: 90px;margin-left: 50px;">检验人员:</div> <el-select v-model="dialogForm.aaa" style="width: 200px;" placeholder="请选择" filterable > <el-option v-for="item in ARR" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </div> <div style="margin: 10px 0;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />检验项信息 </div> <div> <el-button type="primary" @click="add">新增</el-button> </div> <div style="margin-top: 10px"> <el-table :data="JYTableData" :height="(tableHeight-195)+'px'" border stripe :style="{width: 100+'%',height:tableHeight+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="JYsortChange" > <el-table-column prop="RowNum" label="序号" /> <!-- <el-table-column--> <!-- prop="bm"--> <!-- label="检验项目编码"--> <!-- sortable="custom"--> <!-- />--> <el-table-column prop="mc" sortable="custom" label="检验项目名称" > <!-- <template slot-scope="{row}">--> <!-- <el-input v-if="row.isVisible===1" v-model="row.group_code" placeholder="请输入" />--> <!-- <div v-else> {{ row.group_code }}</div>--> <!-- </template>--> </el-table-column> <el-table-column prop="ms" label="检验标准描述" sortable="custom" > <!-- <template slot-scope="{row}">--> <!-- <el-input v-if="row.isVisible===1" v-model="row.group_code" placeholder="请输入" />--> <!-- <div v-else> {{ row.group_code }}</div>--> <!-- </template>--> </el-table-column> <el-table-column prop="jg" label="检验结果" sortable="custom" > <template slot-scope="{row}"> <div style="justify-content: flex-start ;"> <el-radio v-model="radio" label="1">备选项</el-radio> <el-radio v-model="radio" label="2">备选项</el-radio> </div> </template> </el-table-column> <el-table-column label="操作" > <template slot-scope="{row}"> <div class="operationClass"> <el-button v-if="row.isVisible===0" type="text" @click="del(row)">删除</el-button> <el-button v-if="row.isVisible===1" type="text" @click="confirm(row)">确认</el-button> <el-button v-if="row.isVisible===1" type="text" @click="cancel(row)">取消</el-button> </div> </template> </el-table-column> </el-table> </div> <!-- 检验结果 和 检验备注 --> <div style="display: flex;margin-top: 20px;align-items: center"> <div style="display: flex;margin-right: 50px;align-items: center"> <div style="width: 90px">检验结果:</div> <el-select v-model="dialogForm.aaa" style="width: 200px;" placeholder="请选择" filterable > <el-option v-for="item in ARR" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </div> <div style="display: flex;"> <div style="width: 90px">检验备注:</div> <!-- <el-input v-model="row.group_code" placeholder="请输入" />--> </div> </div> <div style="display: flex;margin: 20px 0;align-items: center"> <el-button type="primary">首检保存</el-button> <el-button type="primary" style="margin-left: 50px">巡检保存</el-button> <el-button type="primary" style="margin-left: 50px">完工检保存</el-button> <el-button type="info" style="margin-left: 50px">取消</el-button> </div> </div> </el-tab-pane> </el-tabs> @@ -990,18 +803,7 @@ { required: true, message: '请输入报工数量', trigger: ['blur', 'change'] } ] }, activeName: '', GXform: { // 工序 orderstepqrcode: '' // 扫描的二维码信息 // prop: 'wo_code', // 排序字段z // order: 'asc', // 排序字段 // page: 1, // 第几页 // rows: 20 // 每页多少条 }, JYTableData: [ { RowNum: 1, bm: '001', mc: '尺寸', ms: '无', jg: '我是结果', isVisible: 0 } ], // 检验项信息表格 radio: '' activeName: '' } }, created() { @@ -1083,11 +885,6 @@ this.form.orderstepqrcode = '' }) } if (this.$refs.elTabs.currentName === '2') { this.$nextTick(() => { $("input[name='GXproduceCode']")[0].focus() }) } }, // 扫码键盘回车事件 async enterNative(val, belong) { @@ -1126,10 +923,6 @@ if (res.code === '200' && res.count === 3) { await this.WXback(res.data) } } if (belong === 'GXproduceCode') { console.log('GXproduceCode') } }, // 查询 @@ -1548,8 +1341,8 @@ ] } const args = { type: 'print', // preview print showOptionDlg: false, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 type: 'preview', // preview print showOptionDlg: true, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 report: urlAddRandomNo('./static/grf/报工产出标签.grf'), data: obj } @@ -1571,8 +1364,8 @@ ] } const args = { type: 'print', // preview print showOptionDlg: false, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 type: 'preview', // preview print showOptionDlg: true, // 如果不显示打印对话框而直接打印,将此行注释去掉即可 report: urlAddRandomNo('./static/grf/外协收料标签.grf'), data: obj } @@ -1584,62 +1377,6 @@ this.mainHeight = window.innerHeight - 250 this.tableHeight = this.mainHeight - 80 }) }, /* *检验项信息 * */ JYsortChange({ column, prop, order }) { if (order === 'descending') { order = 'desc' } else if (order === 'ascending') { order = 'asc' } else { order = 'desc' } this.GXform.order = order this.GXform.prop = prop // this.getOrganizationSearch() }, // 获取工序列表 // getList(){ // // }, // 新增 add() { // this.JYTableData.forEach(item => { // item.isVisible = 0 // }) // let number = Math.random() * Math.random()// 作为删除时的标识符 // number = number === 0 ? (10 + Math.random()) : number // const data = { group_code: '', group_name: '', description: '', isVisible: 1, number: number } // this.JYTableData.unshift(data) }, // 删除 del() { this.$confirm('是否确认删除?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { // UserGroupDelete({ UserGrupCode: row.group_code }).then(res => { // if (res.code === '200') { // this.$message.success('删除成功!') // this.getUserGroupSearch() // } // }) }).catch(() => { this.$message.info('已取消删除') }) }, // 确认 confirm() { }, // 取消 cancel() { } } } src/views/template.vue
@@ -523,5 +523,9 @@ ::v-deep .el-textarea__inner:focus{ border-color: $main_color; } ::v-deep .el-select .el-input .el-select__caret { display: flex; align-items: center; justify-content: center; } </style> src/views/zlgl/gxjy.vue
@@ -0,0 +1,631 @@ <template> <div> <div class="body" :style="{height:mainHeight+'px'}"> <div style="margin-left: 10px;margin-top:10px;display: flex;flex-direction: column"> <div style="margin-bottom: 15px;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />扫码信息 </div> <div style="display: flex;align-items: center"> <div style="width: 90px">扫描条码:</div> <el-input v-model="form.orderstepqrcode" name="GXproduceCode" style="width: 300px" @keyup.enter.native="val=>enterNative(val,'GXproduceCode')" /> </div> <!-- 六项信息 --> <div style="display:flex;margin-top: 10px;align-items: center; line-height: 50px"> <div style="display: flex;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">工单编码:</div> <div style="width: 200px">{{ form.wo_code }}</div> </div> <div style="display: flex;"> <div style="width: 90px">产品编码:</div> <div style="width: 100px">{{ form.partcode }}</div> </div> </div> <div style="display: flex;margin-left: 30px;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">产品名称:</div> <div style="width: 100px">{{ form.partname }}</div> </div> <div style="display: flex;"> <div style="width: 90px">产品规格:</div> <div style="width: 100px">{{ form.partspec }}</div> </div> </div> <div style=" display: flex;margin-left: 30px;"> <div style="display: flex;margin-right: 50px"> <div style="width: 90px">工序编码:</div> <div>{{ form.stepcode }}</div> </div> <div style="display: flex;"> <div style="width: 90px">工序名称:</div> <div>{{ form.stepname }}</div> </div> </div> </div> <div style="margin: 15px 0;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />检验标准信息 </div> <div style="display: flex;align-items: center"> <div style="width: 90px">检验标准:</div> <el-select v-model="checkStandard" style="width: 200px;" placeholder="请选择" filterable @change="changeCheckStandard" > <el-option v-for="item in checkStandardSelect" :key="item.code" :label="item.name" :value="item.code" /> </el-select> <div style="width: 90px;margin-left: 50px;">检验人员:</div> <el-select v-model="checkUser" style="width: 200px;" placeholder="请选择" filterable > <el-option v-for="item in checkUserSelect" :key="item.usercode" :label="item.username" :value="item.usercode" /> </el-select> </div> <div style="margin: 15px 0;font-size: 14px"> <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />检验项信息 </div> <div> <el-button type="primary" @click="add">新增</el-button> </div> <div style="margin-top: 10px"> <el-table ref="tableDataRef" :data="JYTableData" :height="(tableHeight-195)+'px'" border stripe :style="{width: 100+'%',height:tableHeight+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" > <el-table-column type="index" label="序号" width="100" /> <!-- <el-table-column--> <!-- prop="code"--> <!-- label="检验项目编码"--> <!-- sortable="custom"--> <!-- />--> <el-table-column prop="code" label="检验项目名称(名称)" > <template slot-scope="{row}"> <div v-if="row.isVisible===0" style="display: flex;"> <div>{{ row.code }}</div> <div style="margin-left: 10px">{{ row.name }}</div> </div> <el-select v-if="row.isVisible===1" v-model="row.code" filterable style="width: 400px;" placeholder="请选择" @change="val=>changeCode(val,row)" > <el-option v-for="item in JYSelectArr" :key="item.code" :label="item.code+''+item.name" :value="item.code" /> </el-select> </template> </el-table-column> <el-table-column prop="stepcheckitem_desc" label="检验标准描述" > <template slot-scope="{row}"> <el-input v-if="row.isVisible===1" v-model="row.stepcheckitem_desc" placeholder="请输入" /> <div v-else> {{ row.stepcheckitem_desc }}</div> </template> </el-table-column> <el-table-column prop="reslut" label="检验结果" > <template slot-scope="{row}"> <el-radio-group v-model="row.reslut" size="small" @change="a=>changeRadioValue(a,row)"> <el-radio-button style="box-shadow: none" :label="0" @click.native.prevent="clickRadio(0,row)"> 合格 </el-radio-button> <el-radio-button style="box-shadow: none" :label="1" @click.native.prevent="clickRadio(1,row)"> 不良 </el-radio-button> </el-radio-group> </template> </el-table-column> <el-table-column label="操作" > <template slot-scope="{row}"> <div class="operationClass"> <el-button v-if="row.isVisible===0" type="text" @click="del(row)">删除</el-button> <el-button v-if="row.isVisible===1" type="text" @click="confirm(row)">确认</el-button> <el-button v-if="row.isVisible===1" type="text" @click="cancel(row)">取消</el-button> </div> </template> </el-table-column> </el-table> </div> <!-- 检验结果 和 检验备注 --> <div style="display: flex;margin-top: 20px;align-items: center"> <div style="display: flex;margin-right: 50px;align-items: center"> <div style="width: 90px">检验结果:</div> <el-select v-model="checkResult" style="width: 200px;" placeholder="请选择" filterable > <el-option v-for="item in checkResultSelect" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </div> <div style="display: flex;align-items: center"> <div style="width: 90px">检验备注:</div> <el-input v-model="checkdescr" style="width: 300px" placeholder="请输入" /> </div> </div> <div style="display: flex;margin: 30px 0;align-items: center"> <el-button type="primary">首检保存</el-button> <el-button type="primary" style="margin-left: 50px">巡检保存</el-button> <el-button type="primary" style="margin-left: 50px">完工检保存</el-button> <el-button type="info" style="margin-left: 50px">取消</el-button> </div> </div> </div> </div> </template> <script> // import Pagination from '@/components/Pagination' // const SER_HZ = /^[\u4e00-\u9fa5]+$/ import $ from 'jquery' import { MesOrderStepCheckItemList, MesOrderStepCheckSearch, MesOrderStepCheckSelect, StepCheckItemSelect } from '@/api/zlgl' import { MesOrderSelectUser } from '@/api/scgl' export default { name: 'QXDY', // components: { // Pagination // }, data() { return { mainHeight: 0, tableHeight: 0, form: { // 工序 orderstepqrcode: 'MO-2022-07-0001_1;001', // 扫描的二维码信息 wo_code: '', // 工单编码 partcode: '', // 产品编码 partname: '', // 产品名称 partspec: '', // 产品规格 stepcode: '', // 工序编码 stepname: ''// 工序名称 }, checkStandard: '', // 检验标准 checkStandardSelect: [], // 检验标准下拉数组 checkUser: '', // 检验人员 checkUserSelect: [], // 检验人员下拉数组 checkResult: '', // 检验结果 checkResultSelect: [ { code: 'OK', name: '合格' }, { code: 'NG', name: '不良' } ], // 检验结果下拉数组 checkdescr: '', // 检验备注(描述) JYTableData: [], // 检验项信息表格 JYSelectArr: [], // 检验下拉数组 JYSelectedArr: [] // 已选检验项目数组 // checkresultArr:[ // {''} // ] } }, created() { this.getMesOrderStepCheckSelect() this.getMesOrderSelectUser() this.getJYSelectArr() }, mounted() { window.addEventListener('resize', this.getHeight) this.getHeight() this.getFocus() }, methods: { // 获取聚焦 getFocus() { this.$nextTick(() => { $("input[name='GXproduceCode']")[0].focus() }) }, // 获取检验标准下拉数组 async getMesOrderStepCheckSelect() { const { data: res } = await MesOrderStepCheckSelect() this.checkStandardSelect = res }, // 获取检验人员下拉 async getMesOrderSelectUser() { const { data: res } = await MesOrderSelectUser() this.checkUserSelect = res }, // 获取检验项下拉数组 async getJYSelectArr() { const { data: res } = await StepCheckItemSelect() this.JYSelectArr = res }, // 检验标准下拉值改变 async changeCheckStandard(val) { this.JYSelectedArr = [] const { data: res } = await MesOrderStepCheckItemList({ checkstandcode: val }) this.JYTableData = res this.JYTableData.forEach(item => { let number = Math.random() * Math.random()// 作为删除时的标识符 number = number === 0 ? (10 + Math.random()) : number item.reslut = 0 // 0合格 1不良 item.isVisible = 0 item.number = number this.JYSelectedArr.push(item.code) }) }, changeRadioValue(val, row) { console.log(val, row) }, clickRadio(e, row) { console.log(e, row, 1) row.reslut = row.reslut === 0 ? 1 : 0 // this.JYTableData.forEach(item => { // if (row.code === item.code) { // item.reslut = row.reslut === 0 ? 1 : 0 // } // }) // e === row.reslut ? row.reslut = null : row.reslut = e // this.$nextTick(() => { // row.reslut = row.reslut === 0 ? 1 : 0 // }) // // this.$forceUpdate() // this.$refs.tableDataRef.toggleRowSelection(row, false) }, reslutChange(val, row) { }, xxxx(val) { console.log(val) }, changeSelect(val, row) { console.log(val, row) }, changSwitch(val, row) { console.log(val) // row.result = val // this.JYTableData.forEach(item => { // if (row.code === item.code) { // item.reslut = val === 'NG' ? 'OK' : 'NG' // } // }) // row.reslut = !row.reslut // this.handleValue(row) }, handleValue(row) { this.JYTableData.forEach(item => { if (item.code === row.code) { item.reslut = item.reslut === 'OK' ? 'NG' : 'OK' } }) }, // changeCode(val, row) { row.stepcheckitem_desc = this.JYSelectArr.find(it => it.code === val).descr row.name = this.JYSelectArr.find(it => it.code === val).name }, // 扫码键盘回车事件 async enterNative(val, belong) { if (belong === 'GXproduceCode') { const res = await MesOrderStepCheckSearch({ orderstepqrcode: this.form.orderstepqrcode }) this.form.wo_code = res.data[0].wo_code this.form.partcode = res.data[0].partcode this.form.partname = res.data[0].partname this.form.partspec = res.data[0].partspec this.form.stepcode = res.data[0].stepcode this.form.stepname = res.data[0].stepname } }, // 新增 add() { if (this.JYTableData.length > 0 && this.JYTableData[this.JYTableData.length - 1].isVisible === 1) { return this.$message.info('请先确定或取消本条记录!') } let number = Math.random() * Math.random()// 作为删除时的标识符 number = number === 0 ? (10 + Math.random()) : number const data = { code: '', name: '', stepcheckitem_desc: '', isVisible: 1, number } this.JYTableData.push(data) }, // 确认 confirm(row) { if (row.code === '') { return this.$message.info('检验标准编码(名称)不能为空!') } if (this.JYSelectedArr.find(item => item === row.code) !== undefined) { return this.$message.info('检验标准编码(名称)不能重复!') } else { this.JYSelectedArr.push(row.code) } this.JYTableData.forEach((item, index) => { if (item.number === row.number) { item.isVisible = 0 this.JYTableData.splice(index, 1, { number: row.number, code: row.code, name: row.name, isVisible: 0, reslut: row.reslut, stepcheckitem_desc: row.stepcheckitem_desc }) } }) console.log(this.JYTableData) }, // 取消 cancel(row) { this.JYTableData.forEach((item, index) => { if (item.number === row.number) { this.JYTableData.splice(index, 1) } }) this.JYSelectedArr.forEach((item, index) => { if (item === row.code) { this.JYSelectedArr.splice(index, 1) } }) }, // 删除 del(row) { this.JYTableData.forEach((item, index) => { if (item.number === row.number) { this.JYTableData.splice(index, 1) } }) this.JYSelectedArr.forEach((item, index) => { if (item === row.code) { this.JYSelectedArr.splice(index, 1) } }) }, // 获取页面高度 getHeight() { this.$nextTick(() => { this.mainHeight = window.innerHeight - 250 this.tableHeight = this.mainHeight - 100 }) } } } </script> <style lang="scss" scoped> $main_color: #42b983; ::v-deep .el-button--primary { background-color: $main_color !important; height: 30px; display: flex; align-items: center; //border: 1px solid $main_color; border: none; padding: 0 20px; } ::v-deep .el-button--primary:hover { border: none; } ::v-deep .el-button--info { height: 30px; display: flex; align-items: center; padding: 0 20px; } ::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active { background-color: $main_color !important; } ::v-deep .el-dialog__footer { display: flex; justify-content: flex-end; } .footerButton { display: flex; justify-content: end; } ::v-deep .el-button--default { background-color: #ffffff !important; height: 30px; display: flex; align-items: center; padding: 0 20px; } ::v-deep .el-button--default:hover { color: #606266; } ::v-deep .el-dialog__body { padding: 20px 100px !important; } ::v-deep .el-radio__input.is-checked .el-radio__inner { background-color: $main_color; border-color: $main_color; } ::v-deep .el-radio__input.is-checked + .el-radio__label { color: $main_color !important; } ::v-deep .el-checkbox__input.is-checked .el-checkbox__inner { border-color: $main_color; background-color: $main_color; } ::v-deep .el-input__inner { height: 30px; line-height: 30px; } ::v-deep .el-input__inner:focus { border-color: $main_color; } ::v-deep .el-table .caret-wrapper { transform: scale(0.8); } ::v-deep .cell { display: flex !important; align-items: center !important; justify-content: space-between !important; } ::v-deep .el-button--text { color: $main_color; font-size: 14px; cursor: pointer; } .operationClass { height: 23px; display: flex; justify-content: space-between; align-items: center; } .el-icon-share { color: $main_color; cursor: pointer; } .el-checkbox.is-bordered.is-checked { border-color: $main_color; } ::v-deep .el-radio__input.is-checked .el-radio__inner { border-color: $main_color; background: $main_color; } ::v-deep .el-checkbox__input.is-indeterminate .el-checkbox__inner { border-color: $main_color; background: $main_color; } ::v-deep .el-checkbox__input.is-checked + .el-checkbox__label { color: $main_color !important; } ::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { margin: 10px 30px 0px 0; } ::v-deep .el-radio__input.is-checked + .el-radio__label { color: $main_color; } ::v-deep .el-radio.is-bordered + .el-radio.is-bordered { margin: 10px 30px 0px 0; } .body ::v-deep .el-divider { border: 1px solid #eee; width: 99%; margin: 10px auto; } .body ::v-deep .el-form-item { margin-bottom: 0; } ::v-deep .el-input__inner:focus { border-color: $main_color; } ::v-deep .el-select .el-input__inner:focus { border-color: $main_color; } ::v-deep .el-select-dropdown__item.selected { color: $main_color; } ::v-deep .el-checkbox__inner:hover { border-color: $main_color; } ::v-deep .el-textarea__inner:focus { border-color: $main_color; } ::v-deep .el-select .el-input .el-select__caret { display: flex; align-items: center; justify-content: center; } </style> src/views/zlgl/gxjybz.vue
@@ -109,21 +109,29 @@ :visible.sync="dialogVisible" width="800" top="15vh" :close-on-click-modal="false" @closed="handleClose" @close="handleClose" > <div style="margin-bottom: 10px"> <i class="el-icon-s-comment" style="color:#42b983;" /> 标准信息: </div> <el-form ref="dialogForm" style="margin-left: 80px" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px"> <el-form ref="dialogForm" style="margin-left: 80px" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px" > <el-form-item label="标准编码" prop="code"> <el-input v-model="dialogForm.code" :disabled="operation!=='add'" style="width: 200px" /> </el-form-item> <el-form-item label="标准名称" prop="name"> <el-input v-model="dialogForm.name" style="width: 200px" /> <el-input v-model="dialogForm.name" :disabled="operation==='check'" style="width: 200px" /> </el-form-item> <el-form-item label="描述"> <el-input v-model="dialogForm.description" type="textarea" style="width: 200px" /> <el-input v-model="dialogForm.description" :disabled="operation==='check'" type="textarea" style="width: 200px" /> </el-form-item> </el-form> <div style="margin-bottom: 10px"> @@ -150,52 +158,56 @@ /> <el-table-column prop="code" label="检验标准编码" label="检验标准编码(名称)" > <template slot-scope="{row}"> <div v-if="row.isVisible===0">{{ row.code }}</div> <div v-if="row.isVisible===0" style="display: flex;"> <div>{{ row.code }}</div> <div style="margin-left: 10px">{{ row.name }}</div> </div> <el-select v-if="row.isVisible===1" v-model="row.code" filterable :popper-append-to-body="false" style="width: 200px;" style="width: 400px;" placeholder="请选择" @change="val=>changeCode(val,row)" > <el-option v-for="item in JYSelectArr" :key="item.code" :label="item.code" :label="item.code+''+item.name" :value="item.code" /> </el-select> </template> </el-table-column> <el-table-column prop="name" label="检验标准名称" > <template slot-scope="{row}"> <div v-if="row.isVisible===0">{{ row.name }}</div> <el-select v-if="row.isVisible===1" v-model="row.name" filterable :popper-append-to-body="false" style="width: 200px;" placeholder="请选择" @change="val=>changeName(val,row)" > <el-option v-for="item in JYSelectArr" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </template> </el-table-column> <!-- <el-table-column--> <!-- prop="name"--> <!-- label="检验标准名称"--> <!-- >--> <!-- <template slot-scope="{row}">--> <!-- <div v-if="row.isVisible===0">{{ row.name }}</div>--> <!-- <el-select--> <!-- v-if="row.isVisible===1"--> <!-- v-model="row.name"--> <!-- filterable--> <!-- :popper-append-to-body="false"--> <!-- style="width: 200px;"--> <!-- placeholder="请选择"--> <!-- @change="val=>changeName(val,row)"--> <!-- >--> <!-- <el-option--> <!-- v-for="item in JYSelectArr"--> <!-- :key="item.code"--> <!-- :label="item.name"--> <!-- :value="item.code"--> <!-- />--> <!-- </el-select>--> <!-- </template>--> <!-- </el-table-column>--> <el-table-column prop="descr" label="检验描述描述" @@ -206,6 +218,7 @@ </template> </el-table-column> <el-table-column v-if="operation!=='check'" label="操作" > <template slot-scope="{row}"> @@ -222,8 +235,9 @@ <span slot="footer" class="dialog-footer"> <div class="footerButton"> <el-button @click="dialogVisibleCancel">取 消</el-button> <el-button type="primary" @click="dialogVisibleConfirm">提 交</el-button> <el-button v-if="operation==='check'" @click="dialogVisibleCancel">返 回</el-button> <el-button v-if="operation!=='check'" @click="dialogVisibleCancel">取 消</el-button> <el-button v-if="operation!=='check'" type="primary" @click="dialogVisibleConfirm">提 交</el-button> </div> </span> </el-dialog> @@ -232,9 +246,13 @@ <script> import Pagination from '@/components/Pagination' import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz' import { getCookie } from '@/utils/auth' import { AddUpdateStepCheckStaned, StepCheckItemSelect, StepCheckStanedSearch } from '@/api/zlgl' import { DeleteOrganization } from '@/api/jcsz' import { AddUpdateStepCheckStaned, DeleteStepCheckStaned, EditStepCheckStanedSearch, StepCheckItemSelect, StepCheckStanedSearch } from '@/api/zlgl' const SER_HZ = /^[\u4e00-\u9fa5]+$/ export default { @@ -294,7 +312,6 @@ JYTableData: [], // 对话框检验信息表格 JYSelectArr: [], // 检验项目下拉数组 JYSelectedArr: [] // 已选检验项目数组 // JYAddFlag: true // 是否可进行添加 } }, created() { @@ -348,17 +365,28 @@ edit(operation, row) { this.operation = operation this.dialogVisible = true this.$nextTick(() => { this.dialogForm.OrgCode = row.code this.dialogForm.OrgName = row.name this.dialogForm.SupUnit = row.descr }) this.getEditStepCheckStanedSearch(row.code) }, // 查看 check(operation, row) { this.operation = operation this.dialogVisible = true this.getEditStepCheckStanedSearch(row.code) }, async getEditStepCheckStanedSearch(val) { const { data: res } = await EditStepCheckStanedSearch({ defectcode: val }) this.dialogForm.code = res.code this.dialogForm.name = res.name this.dialogForm.description = res.description this.JYTableData = res.Data this.JYTableData.forEach(item => { let number = Math.random() * Math.random()// 作为删除时的标识符 number = number === 0 ? (10 + Math.random()) : number item.isVisible = 0 item.descr = item.stepcheckitem_desc item.number = number this.JYSelectedArr.push(item.code) }) }, // 删除按钮 async del(row) { @@ -367,7 +395,7 @@ cancelButtonText: '取消', type: 'warning' }).then(() => { DeleteOrganization({ orgid: row.code }).then(res => { DeleteStepCheckStaned({ stanedcode: row.code }).then(res => { if (res.code === '200') { this.$message.success('删除成功!') this.getStepCheckStanedSearch() @@ -393,7 +421,6 @@ }, // 对话框确认 dialogVisibleConfirm() { console.log(this.JYSelectedArr.map(i => i)) this.$refs.dialogForm.validate(valid => { if (valid) { const tableData = [] @@ -431,21 +458,20 @@ }) }, // 获取检验项目下拉列表 async getStepCheckItemSelect() { async getStepCheckItemSelect() { const { data: res } = await StepCheckItemSelect() this.JYSelectArr = res }, // 检验标准编码值改变 changeCode(val, row) { console.log(this.JYSelectedArr.map(i => i)) row.name = this.JYSelectArr.find(it => it.code === val).name row.descr = this.JYSelectArr.find(it => it.code === val).descr }, // 检验标准名称值改变 changeName(val, row) { row.code = this.JYSelectArr.find(it => it.code === val).code row.descr = this.JYSelectArr.find(it => it.code === val).descr }, // changeName(val, row) { // row.code = this.JYSelectArr.find(it => it.code === val).code // row.descr = this.JYSelectArr.find(it => it.code === val).descr // }, // 检验新增 JYadd() { if (this.JYTableData.length > 0 && this.JYTableData[this.JYTableData.length - 1].isVisible === 1) { @@ -485,28 +511,30 @@ }, JYsave(row) { if (row.code === '') { return this.$message.info('检验标准代码不能为空!') return this.$message.info('检验标准编码(名称)不能为空!') } if (row.name === '') { return this.$message.info('检验标准名称不能为空!') } // if (row.name === '') { // return this.$message.info('检验标准名称不能为空!') // } if (this.JYSelectedArr.find(item => item === row.code) !== undefined) { return this.$message.info('检验标准代码不能重复!') return this.$message.info('检验标准编码(名称)不能重复!') } else { this.JYSelectedArr.push(row.code) } // if (row.code === this.JYTableData.find(item => item.code).code) { // return this.$message.info('检验标准代码不能重复!') // } this.JYTableData.forEach((item, index) => { if (item.number === row.number) { item.isVisible = 0 this.JYTableData.splice(index, 1, { number: row.number, code: row.code, name: row.name, isVisible: 0, descr: row.descr }) this.JYTableData.splice(index, 1, { number: row.number, code: row.code, name: row.name, isVisible: 0, descr: row.descr }) } }) console.log(this.JYTableData, 898989) }, JYcancel(row) { this.JYTableData.forEach((item, index) => { @@ -536,9 +564,11 @@ border: none; padding: 0 20px; } ::v-deep .el-button--primary:hover { border: none; } ::v-deep .el-button--info { height: 30px; display: flex; @@ -598,6 +628,7 @@ height: 30px; line-height: 30px; } ::v-deep .el-input__inner:focus { border-color: $main_color; } @@ -674,21 +705,23 @@ border-color: $main_color; } ::v-deep .el-select .el-input__inner:focus{ ::v-deep .el-select .el-input__inner:focus { border-color: $main_color; } ::v-deep .el-select-dropdown__item.selected{ ::v-deep .el-select-dropdown__item.selected { color: $main_color; } ::v-deep .el-checkbox__inner:hover{ border-color: $main_color; } ::v-deep .el-textarea__inner:focus{ ::v-deep .el-checkbox__inner:hover { border-color: $main_color; } ::v-deep .el-select__caret{ ::v-deep .el-textarea__inner:focus { border-color: $main_color; } ::v-deep .el-select__caret { display: flex; align-items: center; justify-content: center; src/views/zlgl/gxjyxm.vue
@@ -107,6 +107,7 @@ :title="operation==='add'?'新增':'编辑'" :visible.sync="dialogVisible" width="800px" :close-on-click-modal="false" top="15vh" @closed="handleClose" @close="handleClose" src/views/zlgl/qxdy.vue
@@ -109,6 +109,7 @@ :visible.sync="dialogVisible" width="800px" top="15vh" :close-on-click-modal="false" @closed="handleClose" @close="handleClose" >