Commit 07d3a493 by wangweidong

土工试验Lims

parent bcb8f9f8
...@@ -21,6 +21,10 @@ export default { ...@@ -21,6 +21,10 @@ export default {
http.post('soil/v1/entrust/page_review', data).then(res => res), http.post('soil/v1/entrust/page_review', data).then(res => res),
pageSampleReceive: data => pageSampleReceive: data =>
http.post('soil/v1/entrust/page_sample_receive', data).then(res => res), http.post('soil/v1/entrust/page_sample_receive', data).then(res => res),
pageLocationEntrust: data =>
http
.post('soil/v1/entrust/page_receive_location_entrust', data)
.then(res => res),
pageSampleTake: data => pageSampleTake: data =>
http.post('soil/v1/entrust/page_sample_take', data).then(res => res), http.post('soil/v1/entrust/page_sample_take', data).then(res => res),
pageSampleReceiveHis: data => pageSampleReceiveHis: data =>
......
...@@ -62,22 +62,16 @@ ...@@ -62,22 +62,16 @@
<!--组件加载--> <!--组件加载-->
<ViewSample ref="viewSample"></ViewSample> <ViewSample ref="viewSample"></ViewSample>
<StandardsManageEdit ref="editModal" @on-result-change="_page"></StandardsManageEdit> <StandardsManageEdit ref="editModal" @on-result-change="_page"></StandardsManageEdit>
<DownloadTemplateImport ref="importModal" @on-result-change="_page"></DownloadTemplateImport>
<!-- <component ref="refModal" :is="currentComponent" @on-result-change="_page"></component>-->
</div> </div>
</template> </template>
<script> <script>
import http from '../../../api/http'
import { soilSample } from '../../../api' import { soilSample } from '../../../api'
import global from '../../../api/config'
import DownloadTemplateImport from '../../../components/import/DownloadTemplateImport' // 导入
import StandardsManageEdit from './AddressManageEdit' // 添加、编辑 import StandardsManageEdit from './AddressManageEdit' // 添加、编辑
import ViewSample from './ViewSample' import ViewSample from './ViewLocationEntrust'
export default { export default {
components: { components: {
StandardsManageEdit, StandardsManageEdit,
DownloadTemplateImport,
ViewSample ViewSample
}, },
data() { data() {
...@@ -95,8 +89,6 @@ export default { ...@@ -95,8 +89,6 @@ export default {
componentName: 'StandardsManageEdit' componentName: 'StandardsManageEdit'
}, },
{ type: 'error', id: '', name: '删除' } { type: 'error', id: '', name: '删除' }
// { id: '', name: '导入', componentName: 'DownloadTemplateImport' },
// { id: '', name: '导出' }
], ],
// 表格 // 表格
pageColumns: [ pageColumns: [
...@@ -104,12 +96,6 @@ export default { ...@@ -104,12 +96,6 @@ export default {
{ title: '位置管理人', key: 'manager' }, { title: '位置管理人', key: 'manager' },
{ title: '收样存储位置', key: 'name' }, { title: '收样存储位置', key: 'name' },
{ title: '备注说明', key: 'remark' } { title: '备注说明', key: 'remark' }
// { title: '标准状态', key: 'status', width: 120 },
// { title: '标准分类', key: 'classify' },
// { title: '标准类型', key: 'type' },
// { title: '发布单位', key: 'publishUnit' },
// { title: '发布日期', key: 'publishDate', date: true, width: 140 },
// { title: '文件是否上传', key: 'fileUrl', width: 120 }
], ],
// 操作 // 操作
iconMsg: [ iconMsg: [
...@@ -129,25 +115,7 @@ export default { ...@@ -129,25 +115,7 @@ export default {
searchOpen: false, searchOpen: false,
getPage: {}, getPage: {},
// 选中的内容 // 选中的内容
selectIds: [], selectIds: []
statusList: [
{ value: 0, name: '现行' },
{ value: 1, name: '即将实施' },
{ value: 2, name: '部分被代替' },
{ value: 3, name: '被代替' },
{ value: 4, name: '作废' }
],
classifyList: [
{ value: 0, name: '判定标准' },
{ value: 1, name: '检测依据' },
{ value: 2, name: '其他' }
],
typeList: [
{ value: 0, name: '国家标准' },
{ value: 1, name: '地方标准' },
{ value: 2, name: '行业标准' },
{ value: 3, name: '企业标准' }
]
} }
}, },
computed: { computed: {
...@@ -201,40 +169,17 @@ export default { ...@@ -201,40 +169,17 @@ export default {
case '查看试样': case '查看试样':
this._viewSample(data.name) this._viewSample(data.name)
break break
case '上传':
this._upload(data.id)
break
case '下载':
this._download(data)
break
case '预览':
this._viewReport(data)
break
case '查看替代关系':
this.$refs.relationModal._open(data.id)
break
case '删除': case '删除':
this._deleteById(data.id) this._deleteById(data.id)
break break
} }
}) })
}, },
_upload(id) {
const obj = {
importUrl: '/soil/v1/standard_annex/upload/' + id
}
this.$refs.uploadModal._open(obj)
},
_viewSample(data) { _viewSample(data) {
console.log(data) this.$refs.viewSample._open(data)
this.$refs.viewSample._openHis(data)
}, },
_editModal: async function(edit, id) { _editModal: async function(edit, id) {
if (edit) { if (edit) {
// 编辑
// this.$store.dispatch('StandardInfo/getById', id).then(() => {
// this.$refs.refModal._open(this.$store.state.StandardInfo.model)
// })
const result = await soilSample.locationGetById(id) const result = await soilSample.locationGetById(id)
if (result) { if (result) {
this.$refs.editModal._open(result) this.$refs.editModal._open(result)
...@@ -311,66 +256,6 @@ export default { ...@@ -311,66 +256,6 @@ export default {
this._page() this._page()
break break
} }
},
// 导入
_import() {
const data = {
importUrl: '/food/v1/food_standard_info/import_standard',
downloadUrl: '/food/v1/excel/template/FoodStandardInfo',
title: '导入食品标准管理'
}
this.$refs.importModal._open(data)
},
// 导出
_export() {
const ids = this.selectIds
this._exportByIds(
ids,
ids.length === 0
? '确定导出全部记录?'
: '确定导出 ' + ids.length + ' 条记录?'
)
},
_exportByIds(ids, content) {
this.$Modal.confirm({
title: '提示',
content: content,
onOk: () => {
if (ids.length === 0) {
http.open('/food/v1/food_standard_info/export_standard')
} else {
http.open('/food/v1/food_standard_info/export_standard?ids=' + ids)
}
}
})
},
// 预览
_viewReport(data) {
const fileUrl = encodeURIComponent(
global.baseURL + '/soil/v1/standard_annex/preview/' + data.id
)
console.log(fileUrl)
window.open(
global.staticURL + '/pdf/PDFJS/pdfjs/web/viewer.html?file=' + fileUrl
)
},
// 下载
_download(data) {
console.log(data)
this.$Modal.confirm({
title: '提示',
content: '确定要下载文件?',
onOk: () => {
if (!data.fileUrl) {
this.$Message.error('附件未上传,请上传附件!')
return
}
window.open(
global.baseURL + '/soil/v1/standard_annex/download/' + data.id,
'_blank'
)
}
})
} }
} }
} }
......
<template>
<div>
<Modal v-model="showModal" width="1200" class="modal-footer-none">
<p slot="header">
{{ modalTitle }}
</p>
<div>
<!--内容-->
<Row>
<!--查询-->
<Col span="24">
<Form id="search-sample-company" v-show="searchOpen" :label-width="80" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item label="委托商:" class="search-item">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入委托商" clearable />
</Form-item>
<Form-item label="委托编号:" class="search-item">
<Input v-model="formObj.entrustCode" @on-enter="_formSearch" placeholder="请输入委托编号" clearable />
</Form-item>
<Form-item class="search-btn">
<Button @click="_page" type="primary">
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col span="24">
<btn-list :msg="btn" :open="searchOpen" @on-result-change="_btnClick" class="contHide" show-search-btn="true"></btn-list>
</Col>
<!-- 表格 -->
<Col span="24">
<PTVXETable ref="pageTable" :table-height="tableHeight" :form-id="formId" :loading="true"
:get-page="getPage" :iconMsg="iconMsg" @on-result-change="_tableResultChange" select-data>
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
:field="item.key"
:title="item.title"
:width="item.width?item.width:200"
:fixed="item.fixed?item.fixed:undefined" sortable>
<template slot-scope="scope">
<div v-if="item.detail">
<a @click.stop="_detailModal(scope.row)">{{ scope.row[item.key] }}</a>
</div>
<div v-else-if="item.status">
{{ scope.row[item.key].display }}
</div>
<div v-else-if="item.date">
{{ scope.row[item.key]?$dateformat(scope.row[item.key],'yyyy-mm-dd'):'' }}
</div>
<div v-else>
{{ scope.row[item.key] }}
</div>
</template>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
<div slot="footer">
<modal-footer ref="footerModal" :footer="footerList" @on-result-change="_footerResult" />
</div>
</Modal>
</div>
</template>
<script>
import { soilEntrust } from '../../../api'
export default {
components: {},
data() {
return {
formId: 'soilSampleManage',
currentComponent: '',
btn: [
{
type: 'success',
id: 'ZBC',
name: '打印标签'
}
],
itemList: [],
indexList: [],
footerList: [
{ id: '', name: '取消', type: '' },
{ id: '', name: '确定', type: 'primary' }
],
entrustId: '', // 委托id
showModal: false,
recordHis: false,
searchOpen: true,
modalTitle: '位置委托单列表',
selectIds: [],
selectData: {},
getPage: {},
pageColumns: [
{ title: '委托商', key: 'client', width: 230 },
{ title: '委托编号', key: 'entrustCode', width: 120 },
{ title: '委托日期', key: 'entrustDate', width: 120, date: true },
{ title: '钻孔位置', key: 'boreholeLocation', width: 120 },
{ title: '水深(米)', key: 'waterDepth', width: 120 },
{ title: '钻孔名称', key: 'boreholeName', width: 120 },
{ title: '进度', key: 'progress', width: 120, status: true },
{ title: '平均容重', key: 'projectNo', width: 120 },
{ title: '检验类别', key: 'testType', width: 120 }
],
sampleId: '',
dateList: [],
formObj: {
receiveLocation: undefined,
client: undefined,
entrustCode: undefined
}
}
},
computed: {
tableHeight: function() {
if (this.searchOpen) {
return this.$tableHeight('search')
} else {
return this.$tableHeight('noSearch')
}
}
},
methods: {
_inputChange: async function(info) {
const result = await soilEntrust.sampleEdit({
id: info.id,
describeDetail: info.describeDetail
})
if (result) {
this._resultChange('修改成功')
}
},
_handleRow(data) {
this.currentRow = data.row
this.currentIndex = data.rowIndex
},
_footerResult(name) {
switch (name) {
case '取消':
this._cancel()
break
case '确定':
this._ok()
break
}
},
_cancel() {
this.showModal = false
},
iconMsg: [
{
type: 'md-apps',
id: '',
name: '查看试样'
}
],
_ok() {
this.showModal = false
this.$refs.footerModal._hideLoading()
console.log(this.getPage)
},
_dateChange(data) {
this.formObj.ctimeBegin = data[0]
this.formObj.ctimeEnd = data[1]
},
_btnClick(msg, componentName) {
this.currentComponent = componentName
this.$nextTick(function() {
switch (msg) {
case '添加':
this._editModal(false)
break
case '删除':
this._deleteSelected()
break
case 'search':
this.searchOpen = !this.searchOpen
break
}
})
},
_samplePre() {
if (this.selectIds.length === 0) {
this.$message.warning('至少选择一条数据')
} else {
this.$refs.preModal._open(this.selectIds.join(','))
}
},
_writeDetail(id) {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选中一条样品数据!')
} else {
const ids = id.join(',')
this.$refs.writeDetailModal._open(ids)
}
},
_iconClick(res, data, componentName, index) {
this.currentComponent = componentName
this.$nextTick(function() {
switch (res) {
case '管理检测项目':
this._itemManage(data.id)
break
case '编辑':
this._editModal(true, data)
break
case '删除':
console.log(index)
this._deleteById(data.id)
break
case '附件':
this.$refs.refModal._open(data.id, 'sampleId')
break
}
})
},
_itemManage(data) {
// 管理检测项目
if (this.recordHis) {
this.$refs.sampleItemManage._openRecord(data)
} else {
this.$refs.sampleItemManage._open(data)
}
},
_tableResultChange(msg, data) {
const selectIds = []
switch (msg) {
case 'selectData':
for (let i = 0; i < data.length; i++) {
selectIds.push(data[i].id)
}
this.selectIds = selectIds
this.selectData = data
break
case 'allSelect':
console.log('123465798', data)
this.allSelect(data)
break
case 'iconClick':
this._iconClick(data.name, data.rowData)
break
case 'changeSize':
this._page()
break
}
},
_open(name) {
this.formObj = this.$resetFields(this.formObj)
this.dateList = []
this.showModal = true
this.formObj.receiveLocation = name // 委托id
this.$refs.pageTable._hideLoading()
this._page()
},
_formSearch() {
this.$refs.pageTable._pageChange(1)
},
_page: async function() {
const result = await soilEntrust.pageLocationEntrust(this.formObj)
if (result) {
this.$refs.pageTable._hideLoading()
this.getPage = result
}
},
_deleteByIds(ids, content) {
this.$Modal.confirm({
title: '提示',
content: content || '确定删除该记录?',
onOk: () => {
this._deleteOk(ids)
}
})
},
_deleteById(id) {
// 删除一条记录
this._deleteByIds([id])
},
_deleteSelected() {
// 批量删除
const ids = this.selectIds
if (ids.length === 0) {
this.$Message.warning('请选择一条或多条数据!')
} else {
this._deleteByIds(ids, '确定删除 ' + ids.length + ' 条记录?')
}
},
_detailModal(data) {},
_editModal(edit, data) {
if (edit) {
this.$refs.sampleManageEdit._open(data)
} else {
// 添加
this.$refs.refModal._open('', this.entrustId)
}
},
_search() {
this._page()
},
_resultChange(msg) {
this.$Message.success(msg)
this._page()
},
_operationRecord(id) {
// 操作日志
this.$refs.recordModal._open(id)
}
}
}
</script>
...@@ -62,10 +62,7 @@ ...@@ -62,10 +62,7 @@
</div> </div>
</template> </template>
<script> <script>
import http from '../../../api/http'
import { soilEntrust, soilSample } from '../../../api' import { soilEntrust, soilSample } from '../../../api'
import { getLodop } from '../../../plugins/clodop/LodopFuncs'
let LODOP
export default { export default {
components: {}, components: {},
data() { data() {
...@@ -152,37 +149,6 @@ export default { ...@@ -152,37 +149,6 @@ export default {
this.$refs.footerModal._hideLoading() this.$refs.footerModal._hideLoading()
console.log(this.getPage) console.log(this.getPage)
}, },
_itemImportBack(data) {
if (this.selectIds === undefined || this.selectIds.length === 0) {
return false
}
if (data === undefined || data.length === 0) {
return false
}
this._importItemOk({ sampleIds: this.selectIds, drugItemList: data })
},
// _importItemOk: async function(data) {
// const result = await drugSample.importSampleItemDTO(data)
// if (result) {
// this.$Message.success('导入成功!')
// await this._page()
// }
// },
_modalResult(data1, data2) {
switch (this.currentComponent) {
case 'CopyModal':
if (data1 === 0) {
this._copySample(data2)
} else {
this._copyAll(data2)
}
break
default:
this._search()
}
},
_dateChange(data) { _dateChange(data) {
this.formObj.ctimeBegin = data[0] this.formObj.ctimeBegin = data[0]
this.formObj.ctimeEnd = data[1] this.formObj.ctimeEnd = data[1]
...@@ -194,39 +160,9 @@ export default { ...@@ -194,39 +160,9 @@ export default {
case '添加': case '添加':
this._editModal(false) this._editModal(false)
break break
case '复制历史样品':
this._copyHisSample()
break
case '导入样品':
this._importSample()
break
case '导入检测项目':
this._importItem()
break
case '导入检测项目包':
this._importItemPackage()
break
case '打印标签':
this._printLabel()
break
case '试样制备':
this._samplePre()
break
case '批量填写土质描述详情':
this._writeDetail(this.selectIds)
break
case '复制历史样品检测项目':
this._copyHisItem()
break
case '删除': case '删除':
this._deleteSelected() this._deleteSelected()
break break
case '导出':
this._exportSample()
break
case '添加模拟样品':
this._editImitateModal(false)
break
case 'search': case 'search':
this.searchOpen = !this.searchOpen this.searchOpen = !this.searchOpen
break break
...@@ -248,27 +184,6 @@ export default { ...@@ -248,27 +184,6 @@ export default {
this.$refs.writeDetailModal._open(ids) this.$refs.writeDetailModal._open(ids)
} }
}, },
_exportSample() {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选择一条样品')
} else {
this.$Modal.confirm({
title: '提示',
content: '确定导出这' + this.selectIds.length + '条样品',
onOk: () => {
http.open(
'/food/v1/sample/company/export',
{ ids: this.selectIds.join(',') },
'_blank'
)
}
})
}
},
_copyHisSample() {
this.$refs.refModal._open(this.entrustId)
},
_iconClick(res, data, componentName, index) { _iconClick(res, data, componentName, index) {
this.currentComponent = componentName this.currentComponent = componentName
this.$nextTick(function() { this.$nextTick(function() {
...@@ -276,22 +191,13 @@ export default { ...@@ -276,22 +191,13 @@ export default {
case '管理检测项目': case '管理检测项目':
this._itemManage(data.id) this._itemManage(data.id)
break break
case '制备详情':
this._preEdit(data.id)
break
case '编辑': case '编辑':
this._editModal(true, data) this._editModal(true, data)
break break
case '复制':
this._copy(data)
break
case '删除': case '删除':
console.log(index) console.log(index)
this._deleteById(data.id) this._deleteById(data.id)
break break
case '附件':
this.$refs.refModal._open(data.id, 'sampleId')
break
} }
}) })
}, },
...@@ -368,21 +274,10 @@ export default { ...@@ -368,21 +274,10 @@ export default {
title: '提示', title: '提示',
content: content || '确定删除该记录?', content: content || '确定删除该记录?',
onOk: () => { onOk: () => {
// this.$store.dispatch('FoodSample/deleteByIds', ids).then(() => {
// this._resultChange('删除成功!')
// })
this._deleteOk(ids) this._deleteOk(ids)
} }
}) })
}, },
// _deleteOk: async function(ids) {
// const result = await drugSample.deleteById(ids)
// if (result) {
// this._resultChange('删除成功')
// }
// },
_deleteById(id) { _deleteById(id) {
// 删除一条记录 // 删除一条记录
this._deleteByIds([id]) this._deleteByIds([id])
...@@ -424,124 +319,6 @@ export default { ...@@ -424,124 +319,6 @@ export default {
this.$Message.success(msg) this.$Message.success(msg)
this._page() this._page()
}, },
_copy(data) {
this.$refs.copyModal._open(data.id, data.type)
},
// 复制样品
_copySample(data) {
this.$store
.dispatch('FoodSample/getByCompanyId', data.sampleId)
.then(() => {
const result = this.$store.state.FoodSample.companyModel
if (data.type === 0) {
// 普通样品
this.currentComponent = 'FoodSampleCompanyEdit'
this.$nextTick(function() {
this.$refs.refModal._openCopySample(result)
})
} else if (data.type === 3) {
// 模拟样品
this.$refs.imitateModal._openCopySample(result)
}
})
},
_copyAll(data) {
this.$store
.dispatch('FoodSample/getByCompanyId', data.sampleId)
.then(() => {
const result = this.$store.state.FoodSample.companyModel
if (data.type === 0) {
// 普通样品
this.currentComponent = 'FoodSampleCompanyEdit'
this.$nextTick(function() {
this.$refs.refModal._openCopyAll(result)
})
} else if (data.type === 3) {
// 模拟样品
this.$refs.imitateModal._openCopyAll(result)
}
})
},
// 导入检测项目
_importItem() {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选中一条样品数据!')
} else {
this.$refs.sampleItemModal._open()
this.$refs.pageTable.checkedData()
}
},
// 导入检测项目包
_importItemPackage() {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选中一条样品数据!')
} else {
// this.$refs.refModal._open(this.selectIds, 'sample-rel-package-item')
this.$refs.itemPackageModal._open(
this.selectIds,
'sample-rel-package-item'
)
}
},
_printLabel() {
if (this.selectData.length === 0) {
this.$Message.warning('请至少选中一条样品数据!')
} else {
for (let m = 0; m < this.selectData.length; m++) {
const row = this.selectData[m]
this._printLabelOk(row)
}
}
},
_printLabelOk(row) {
LODOP = getLodop()
if (LODOP === 'undefined' || LODOP === undefined) {
this._pluginDownload()
return false
}
if (LODOP.GET_PRINTER_COUNT() === 0) {
this.$Messager.warning('系统未关联打印机,请确认....')
return false
}
LODOP.PRINT_INITA('0mm', '0mm', '70.01mm', '50.01mm', '样品标签打印')
LODOP.ADD_PRINT_LINE(36, 15, 35, 251, 0, 1)
LODOP.ADD_PRINT_LINE(74, 15, 73, 251, 0, 1)
LODOP.ADD_PRINT_LINE(107, 15, 106, 251, 0, 1)
LODOP.ADD_PRINT_LINE(140, 15, 139, 251, 0, 1)
LODOP.ADD_PRINT_LINE(175, 15, 174, 251, 0, 1)
LODOP.ADD_PRINT_LINE(35, 15, 174, 16, 0, 1)
LODOP.ADD_PRINT_LINE(35, 74, 174, 75, 0, 1)
LODOP.ADD_PRINT_LINE(35, 251, 174, 252, 0, 1)
LODOP.ADD_PRINT_TEXT(49, 17, 59, 20, '样品名称')
LODOP.ADD_PRINT_TEXT(82, 18, 59, 20, '样品编号')
LODOP.ADD_PRINT_TEXT(116, 17, 59, 20, '样品状态')
LODOP.ADD_PRINT_TEXT(151, 27, 39, 20, '备注')
LODOP.ADD_PRINT_TEXT(16, 95, 100, 20, '检测样品标签')
LODOP.SET_PRINT_STYLEA(0, 'Bold', 1)
LODOP.ADD_PRINT_TEXT(49, 78, 135, 20, row.name)
LODOP.ADD_PRINT_TEXT(82, 77, 136, 20, row.sampleCode)
LODOP.ADD_PRINT_TEXT(117, 76, 176, 20, '□未检 □在检 □已检 □留样')
if (row.surplus === '取回') {
LODOP.ADD_PRINT_TEXT(152, 77, 138, 20, '☑"取回 □服务方处理')
} else if (row.surplus === '服务方处理') {
LODOP.ADD_PRINT_TEXT(152, 77, 138, 20, '□取回 ☑服务方处理')
} else {
LODOP.ADD_PRINT_TEXT(152, 77, 138, 20, '□取回 □服务方处理')
}
LODOP.PRINT_DESIGN()
},
_copyHisItem() {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选中一条样品数据!')
} else {
this.$refs.refModal._open(this.selectIds)
}
},
_operationRecord(id) { _operationRecord(id) {
// 操作日志 // 操作日志
this.$refs.recordModal._open(id) this.$refs.recordModal._open(id)
......
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