Commit c0efd641 by wangweidong

Merge remote-tracking branch 'origin/dev' into dev

parents 73b31c53 7b534f9d
......@@ -71,5 +71,19 @@ export default {
deleteReportTemplateConfig: data =>
http
.delete('soil/v1/exp_report_template_config/?ids=' + data)
.then(res => res),
originalTemplateConfig: data =>
http.post('soil/v1/original_template_config/page', data).then(res => res),
saveOriginalTemplateConfig: data =>
http.post('soil/v1/original_template_config/', data).then(res => res),
getOriginalTemplateConfig: data =>
http.get('soil/v1/original_template_config/' + data).then(res => res),
editOriginalTemplateConfig: data =>
http
.put('soil/v1/original_template_config/' + data.id, data.obj)
.then(res => res),
deleteOriginalTemplateConfig: data =>
http
.delete('soil/v1/original_template_config/?ids=' + data)
.then(res => res)
}
......@@ -21,5 +21,7 @@ export default {
.then(res => res),
reportPage: data => http.post('soil/v1/report/page', data).then(res => res),
originalRecordGetById: data =>
http.get('soil/v1/original_record/' + data).then(res => res)
http.get('soil/v1/original_record/' + data).then(res => res),
expReportGetById: data =>
http.get('soil/v1/exp_report/' + data).then(res => res)
}
......@@ -159,5 +159,7 @@ export default {
pageExpAuditHis: data =>
http.post('soil/v1/entrust/page_exp_audit_his', data).then(res => res),
deleteRecord: data =>
http.delete('soil/v1/original_record/?ids=' + data).then(res => res)
http.delete('soil/v1/original_record/?ids=' + data).then(res => res),
expReportPage: data =>
http.post('soil/v1/exp_report/page', data).then(res => res)
}
......@@ -437,6 +437,11 @@ export default {
_radioChange({ row }) {
this.$emit('on-result-change', 'singleSelect', row)
},
_radioChangeItem(row) {
this.$refs.xTable.setRadioRow(row)
this.$refs.xTable.setCurrentRow(row)
this.$emit('on-result-change', 'singleSelect', row)
},
// 关闭loading
_hideLoading() {
this.loading = false
......
<template>
<div>
<Modal v-model="showModal" width="1000" class="modal-footer-none">
<div slot="header">{{modalTitle}}</div>
<div>
<Form id="index-right-form" :label-width="80" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="属性名称:">
<Input v-model="formObj.attributeName" @on-enter="_formSearch" placeholder="请输入属性名称" clearable/>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
</Form-item>
</Form>
<btn-list :msg="btn" @on-result-change="_btnClick" class="contHide" style="margin-bottom: 10px;"/>
<PTVXETable ref="pageTable" :tableHeight="tableHeight"
@on-result-change="_tableResultChange" :getPage="getPage" :iconMsg="iconMsg">
<vxe-table-column
:field="item.key"
:title="item.title"
:min-width="item.width?item.width:200"
:fixed="item.fixed?item.fixed:undefined"
v-for="item in pageColumns" :key="item.key">
<template slot-scope="scope">
<span v-if="item.key==='defaulted'">{{scope.row[item.key]?'是':'否'}}</span>
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
</PTVXETable>
</div>
</Modal>
<ConfigTemplateEdit ref="indexEdit" @on-result-change="_page"></ConfigTemplateEdit>
</div>
</template>
<script>
import { soilAptitude } from '../../api'
import ConfigTemplateEdit from './ConfigTemplateEdit'
export default {
components: { ConfigTemplateEdit },
data() {
return {
id: '',
modalTitle: '',
showModal: false,
btn: [
{ type: 'success', id: '', name: '添加配置' },
{ type: 'error', id: '', name: '删除' }
],
tableHeight: document.documentElement.clientHeight - 180,
pageColumns: [
{ title: '属性名称', key: 'attributeName' },
{ title: '属性', key: 'dataAttribute', width: 120 },
{ title: '列位置', key: 'columnPlace', width: 120 },
{ title: '合并开始列', key: 'mergeBegin', width: 120 },
{ title: '合并结束列', key: 'mergeEnd', width: 120 }
],
getPage: {},
iconMsg: [{ type: 'md-create', id: '', name: '编辑' }],
selectIds: [],
formObj: {
attributeName: undefined,
templateId: undefined
},
// 资质信息
aptitudeItemInfo: {}
}
},
methods: {
_open(data) {
console.log(data)
this.aptitudeItemInfo = data
this.formObj = this.$resetFields(this.formObj)
this.formObj.templateId = data.id
this.id = data.id
this.modalTitle = data.name + ' 指标管理'
this.showModal = true
this._page()
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
const result = await soilAptitude.originalTemplateConfig(
this.$serializeForm(this.formObj)
)
if (result) {
console.log(result)
this.getPage = result
this.$refs.pageTable._hideLoading()
}
},
_formSearch() {
this.$refs.pageTable._pageChange(1)
},
_tableResultChange(msg, data) {
switch (msg) {
case 'page':
break
case 'selectIds':
this.selectIds = data
break
case 'iconClick':
this._iconClick(data.name, data.rowData)
break
case 'changeSize':
this._page()
break
}
},
_iconClick(res, data) {
switch (res) {
case '编辑':
this._editModal(true, data)
break
}
},
_editModal(edit, data) {
if (edit) {
this._getById(data)
} else {
this.$refs.indexEdit._open(this.id, '')
}
},
_getById: async function(data) {
const result = await soilAptitude.getOriginalTemplateConfig(data.id)
console.log(result)
if (result) {
this.$refs.indexEdit._open('', result)
}
},
_btnClick(msg) {
switch (msg) {
case '添加配置':
this._editModal(false)
break
case '删除':
this._deleteByIds()
break
}
},
_deleteByIds() {
if (this.selectIds.length === 0) {
// this.$msgTip('warning')
this.$message.warning('请至少选择一条记录')
} else {
this.$Modal.confirm({
title: '提示',
content: '确定删除 ' + this.selectIds.length + ' 条记录?',
onOk: () => {
this._delOk(this.selectIds)
}
})
}
},
_delOk: async function(ids) {
const result = await soilAptitude.deleteOriginalTemplateConfig(ids)
if (result) {
this.$Message.success('删除成功')
this._page()
}
}
}
}
</script>
<template>
<div>
<Modal v-model="showModal" :mask-closable="false" @on-visible-change="_visibleChange" width="900">
<p slot="header">{{modalTitle}}</p>
<div>
<Form ref="formObj" :id="formId" :model="formObj" :rules="ruleValidate" :label-width="100" inline>
<div>
<Form-item label="属性名称" prop="attributeName" class="width-48">
<Input v-model="formObj.attributeName" name="attributeName" placeholder="请输入属性名称"/>
</Form-item>
<Form-item label="属性" prop="dataAttribute" class="width-48">
<Input v-model="formObj.dataAttribute" name="dataAttribute"
placeholder="请输入属性"/>
</Form-item>
<Form-item label="列位置" prop="columnPlace" class="width-48">
<el-input
v-model="formObj.columnPlace"
@keydown.native="channelInputLimit"
name="columnPlace"
type="number"
onmousewheel="return false"
placeholder="请输入列位置"
/>
</Form-item>
<Form-item label="合并开始列" prop="mergeBegin" class="width-48">
<el-input
v-model="formObj.mergeBegin"
@keydown.native="channelInputLimit"
name="mergeBegin"
type="number"
onmousewheel="return false"
placeholder="请输入合并开始列"
/>
</Form-item>
<Form-item label="合并结束列" prop="mergeEnd" class="width-48">
<el-input
v-model="formObj.mergeEnd"
@keydown.native="channelInputLimit"
name="mergeEnd"
type="number"
onmousewheel="return false"
placeholder="请输入合并结束列"
/>
</Form-item>
</div>
</Form>
</div>
<div slot="footer">
<modal-footer ref="footerModal" @on-result-change="_footerResult" :footer="footerList"></modal-footer>
</div>
</Modal>
</div>
</template>
<script>
/**
* 添加编辑环境资质项目表
*/
import { soilAptitude } from '../../api'
export default {
components: {},
data() {
return {
activeName: '',
hideUserSel: true,
id: '',
modalTitle: '',
templateId: '',
formObj: {
attributeName: undefined,
columnPlace: undefined,
unit: undefined,
status: undefined,
mainType: undefined,
smallType: undefined,
testValue: undefined,
mergeBegin: undefined,
mergeEnd: undefined
},
ruleValidate: {
name: [{ required: true, message: '指标名称不能为空', trigger: 'blur' }]
},
showModal: false,
footerList: [
{ name: '取消', type: '' },
{ name: '保存', type: 'primary' }
],
microbedList: [{ value: 0, name: '否' }, { value: 1, name: '是' }],
// 检测依据
testBasisData: [],
// 类别下拉数组
typeData: [],
// 检测科室
groupData: [],
groupName: '',
// 主检人
userData: [],
// 单位
unitData: [],
aptitudeData: [],
aptitude: '',
// testBasisName: '',
computeTypeList: [],
tester: '',
marksList: [],
detectionTypeList: [],
testItemData: [],
formId: ''
}
},
mounted() {
// 检测科室
// this._getUserGroup()
// 检测依据
// this._getTestBasisList()
// 资质
// this._getAptitudeList()
// this._getType()
},
methods: {
// 字典
_dicSearch() {
this.$store.dispatch('LmsBaseDict/getItem', '食品检出类别').then(() => {
const result = this.$store.state.LmsBaseDict.item
this.detectionTypeList = result
if (this.$string(this.id).isEmpty()) {
// 添加界面默认第一个
this.formObj.detectionType = result.length > 0 ? result[0].name : ''
}
})
},
channelInputLimit(e) {
const key = e.key
// 不允许输入'e'和'.'
if (key === 'e' || key === '.') {
e.returnValue = false
return false
}
return true
},
_testBasisChange(msg, data) {
switch (msg) {
case 'select':
this.formObj.stdId = data.id
this.formObj.testBasis = data.stdNum
this.formObj.testBasisName = data.name
this.formObj.testMethod = data.stdNum
this.$refs.formObj.validateField('testBasis')
break
case 'query':
this.formObj.stdId = ''
this.formObj.testMethod = ''
this.formObj.testBasis = data.stdNum
this.formObj.testBasisName = ''
this._getTestBasisList(data)
break
case 'blur':
if (this.formObj.stdId === '') {
this.formObj.testBasis = ''
this.formObj.testMethod = ''
this._getTestBasisList()
}
this.$refs.formObj.validateField('testBasis')
}
},
_selectJudgeType(data) {
this.formObj.microbed = data
},
_footerResult(name) {
switch (name) {
case '取消':
this._cancel()
break
case '保存':
this._ok()
break
case '填写说明':
this.$refs.introduction._open()
this._hideLoading()
break
}
},
_hideLoading() {
this.$refs.footerModal._hideLoading()
},
_open(id, formObj) {
this.formId = 'edit-form-template-config'
this._hideLoading()
this.$refs.formObj.resetFields()
if (this.$string(formObj).isEmpty()) {
this.id = ''
this.templateId = id
this.modalTitle = '添加试验指标'
} else {
this.hideUserSel = true
this.id = formObj.id
this.formObj = formObj
this.modalTitle = '编辑试验指标'
}
this.showModal = true
},
// 获取检测项目
_getItemList(value) {
const data = {}
if (value) {
Object.assign(data, { name: value })
}
this.$store.dispatch('FoodAptitudeItem/getTestItem', data).then(() => {
this.testItemData = this.$store.state.FoodAptitudeItem.list
})
},
// 检测项目结果
_testItemChange(msg, data) {
switch (msg) {
case 'select':
this.formObj.name = data
this.$refs.formObj.validateField('name')
this._changeMicrobed()
break
case 'query':
this.formObj.name = data
this._getItemList(data)
break
case 'blur':
this._changeMicrobed()
break
}
},
_changeMicrobed() {
// 新增或者导入新增资质时 如果检测项目名称带‘菌’字,则是否微生物默认为‘是’
if (this.id === '') {
if (this.formObj.name.indexOf('菌') > -1) {
this.$set(this.formObj, 'microbed', 1)
} else {
this.$set(this.formObj, 'microbed', 0)
}
}
},
_clearMarks() {
this.marksList = []
},
// 主检人&检测科室
_groupChange(data) {
if (data) {
this.groupName = data.label
this.formObj.groupId = data.value
this.formObj.tester = ''
this.formObj.testerId = ''
this._getUserList(data.value)
}
},
_userChange(data) {
if (data) {
this.formObj.testerId = data.value
this.formObj.tester = data.label
}
},
// 单位
_unitChange(msg, data) {
switch (msg) {
case 'select':
this.formObj.unit = data
break
case 'query':
this._getUnitList(data)
break
}
},
// 获取表数据
_resultChange(msg) {
this.showModal = false
this.$refs.footerModal._hideLoading()
this.$Message.success(msg)
this.$emit('on-result-change')
this.$refs.footerModal._hideLoading()
},
_ok() {
this.$refs.formObj.validate(valid => {
if (valid) {
const data = this.$serialize('edit-form-template-config')
if (this.$string(this.id).isEmpty()) {
data.templateId = this.templateId
// 添加
this._save(data)
} else {
// 编辑
this._edit({ id: this.formObj.id, obj: data })
}
} else {
this.$refs.footerModal._hideLoading()
this.$Message.error('表单验证失败!')
}
})
},
_save: async function(data) {
console.log(data)
const result = await soilAptitude.saveOriginalTemplateConfig(data)
console.log(result)
if (result) {
this._resultChange('添加成功!')
}
},
_edit: async function(data) {
const result = await soilAptitude.editOriginalTemplateConfig(data)
if (result) {
this._resultChange('编辑成功!')
}
},
_cancel() {
this.showModal = false
this._hideLoading()
},
// 切换tab
_changeTabs(tab, event) {
if (tab.name === 'testStep') {
this.$refs.testStepByAptitude._open(
this.formObj.stepId,
this.formObj.id
)
}
},
_visibleChange(data) {
if (!data && this.$showBtn('food-aptitude-item-step-edit')) {
this.$emit('on-result-change')
this.$refs.testStepByAptitude._clear()
}
}
}
}
</script>
......@@ -46,6 +46,7 @@
<!-- 添加、编辑 -->
<SoilRecordTemplateEdit ref="editModal" @on-result-change="_search"></SoilRecordTemplateEdit>
<SoilRecordEdit ref="reportEdit" @on-result-change="_search"></SoilRecordEdit>
<ConfigTemplate ref="configTemplateModal" @on-result-change="_page"></ConfigTemplate>
</div>
</template>
<script>
......@@ -53,8 +54,9 @@ import global from '../../api/config'
import { soilAptitude } from '../../api'
import SoilRecordTemplateEdit from './SoilRecordTemplateEdit'
import SoilRecordEdit from './SoilRecordEdit'
import ConfigTemplate from './ConfigTemplate'
export default {
components: { SoilRecordTemplateEdit, SoilRecordEdit },
components: { SoilRecordTemplateEdit, SoilRecordEdit, ConfigTemplate },
data() {
return {
pageColumns: [
......@@ -67,6 +69,7 @@ export default {
},
iconMsg: [
{ type: 'md-create', id: '', name: '编辑' },
{ type: 'ios-build-outline', id: '', name: '配置' },
{ type: 'ios-book', id: '', name: '预览/编辑' },
// { type: 'ios-download', id: '', name: '下载' },
{ type: 'md-remove-circle', id: '', name: '删除' }
......@@ -143,12 +146,17 @@ export default {
case '预览/编辑':
this._lookReport(data)
break
case '配置':
this._configData(data)
break
case '删除':
this._deleteByIds([data.id])
break
}
},
_configData(data) {
this.$refs.configTemplateModal._open(data)
},
_lookReport: async function(data) {
const result = await soilAptitude.originalTemplateGetById(data.id)
if (result) {
......@@ -165,7 +173,7 @@ export default {
this.$openWindowModeless({
objectKey: data.objectKey,
id: data.id,
idType: 11,
idType: 12,
isReport: 4
})
}
......
......@@ -158,7 +158,7 @@ export default {
const result = await soilReport.pageReportCheckHis(data)
if (result) {
this.getPage = result
this.$refs.pageTable._initTable()
this.$refs.pageTable._hideLoading()
}
},
_clearPage() {
......
......@@ -181,9 +181,6 @@ export default {
}
}
},
mounted() {
this._page()
},
methods: {
_componentResult(data) {
switch (this.currentComponent) {
......@@ -243,6 +240,7 @@ export default {
content: '确定这' + this.selectIds.length + '条数据生成报告',
onOk: () => {
this.openTooltip()
this.$refs.pageTable._showLoading()
this._reportMakeOk()
}
})
......@@ -258,6 +256,7 @@ export default {
this._page()
this.$emit('on-result-change')
}
this.$refs.pageTable._hideLoading()
},
openTooltip() {
this.$notify.info({
......
......@@ -85,9 +85,9 @@ export default {
{ type: 'md-trash', id: '', name: '删除' }
],
pageColumns: [
{ title: '模板名称', key: 'title' },
{ title: '委托编号', key: 'entrustCode' },
{ title: '填写人', key: 'uname' },
{ title: '项目名称', key: 'expName' },
{ title: '备注', key: 'remark' },
{ title: '创建人', key: 'uname' },
{ title: '创建时间', key: 'ctime', dateTime: true }
],
formObj: {
......@@ -178,7 +178,7 @@ export default {
},
_reportMakeLook: async function(data) {
console.log(data)
const result = await soilReport.originalRecordGetById(data.id)
const result = await soilReport.expReportGetById(data.id)
// this._viewReport(data)
// const result = await soilReport.getExcelOriginalRecord(data.id)
if (result) {
......@@ -190,7 +190,7 @@ export default {
if (data) {
this.$openWindowModeless({
objectKey: data.objectKey,
idType: 10,
idType: 11,
id: data.id,
isReport: 4
})
......@@ -246,7 +246,7 @@ export default {
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
const result = await soilTest.recordPage(
const result = await soilTest.expReportPage(
this.$serializeForm(this.formObj)
)
if (result) {
......
......@@ -51,7 +51,7 @@
* 原始记录查看
*/
import Global from '../../../api/config'
import { soilTest } from '../../../api'
import { soilReport, soilTest } from '../../../api'
import ItemOriginalRecordEdit from './OriginalRecordEdit'
import ItemView from './ItemView'
......@@ -146,10 +146,7 @@ export default {
this.$nextTick(() => {
switch (res) {
case '编辑':
this.$refs.recordEditModal._openWithType(
data.originalRecordId,
'ENVTESTMAKEEDIT'
)
this._reportEdit(data)
break
case '查看原始记录':
this._reportView(data)
......@@ -175,13 +172,22 @@ export default {
this._recordView(data.originalRecordId)
}
},
_reportMakeLook(data) {
_reportEdit(data) {
if (data.objectKey) {
this._reportMakeLook(data)
} else {
this.$refs.recordEditModal._openWithType(
data.originalRecordId,
'ENVTESTMAKEEDIT'
)
}
},
_reportMakeLook: async function(data) {
console.log(data)
this._viewReport(data)
// const result = await soilReport.getExcelOriginalRecord(data.id)
// if (result) {
// this._viewReport(result)
// }
const result = await soilReport.originalRecordGetById(data.id)
if (result) {
this._viewReport(result)
}
},
_viewReport(data) {
if (data) {
......
......@@ -133,9 +133,11 @@ export default {
this.$emit('on-result-change', data)
break
case 'singleSelect':
console.log('data-----------------', data)
this.$emit('on-result-change', data)
break
case 'iconClick':
this.$refs.pageTable._radioChangeItem(data.rowData)
this._iconClick(data.name, data.rowData, data.componentName)
break
case 'changeSize':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment