Commit 615cdd63 by zhangmengqi

Merge branch 'dev'

parents 6191e020 25871830
......@@ -134,11 +134,26 @@ export default {
http.post('res/v1/dict/dict_query?type=' + data).then(res => res),
editBackup: data =>
http.put('soil/v1/sample_backup/' + data.id, data.obj).then(res => res),
bathUpdateBackupInfo: data =>
http
.post(
'soil/v1/sample_backup/bath_update_backup_info/?ids=' + data.id,
data.obj
)
.then(res => res),
editItem: data =>
http.post('soil/v1/experiment/bath_update_info', data).then(res => res),
// 余样编辑
editPrepare: data =>
http.put('soil/v1/prepare/' + data.id, data.obj).then(res => res),
// 批量填写余样信息
bathUpdateSurplusInfo: data =>
http
.post(
'soil/v1/prepare/bath_update_surplus_info/?ids=' + data.id,
data.obj
)
.then(res => res),
getUserList: data => http.post('/base/v1/user/page').then(res => res),
scanTakeSample: data =>
http
......
......@@ -22,6 +22,8 @@ export default {
// 试验任务按样品分配-试验项目分配操作
allotExp: data =>
http.post('soil/v1/experiment/allot_exp', data).then(res => res),
changeExpAllot: data =>
http.post('soil/v1/experiment/change_exp_allot', data).then(res => res),
// 试验任务分配样品对应检测项目分页列表
pageAllot: data =>
http.post('soil/v1/experiment/page_allot', data).then(res => res),
......
......@@ -83,6 +83,7 @@ export default {
)
this.showModal = false
} else {
this.$refs.footerModal._hideLoading()
this.$Message.error('表单验证失败!')
}
})
......
......@@ -284,6 +284,7 @@ export default {
title: '提示',
content: '确定要提交 ' + ids.length + ' 条记录?',
onOk: () => {
this.$refs.pageTable._showLoading()
this._subToSkipRe(ids)
}
})
......@@ -299,6 +300,7 @@ export default {
title: '提示',
content: '确定要把这 ' + ids.length + ' 条记录提交到' + cont + '?',
onOk: () => {
this.$refs.pageTable._showLoading()
this._subToRe(ids)
}
})
......@@ -320,6 +322,7 @@ export default {
_resultChange(msg) {
this.$Message.success(msg)
this._page()
this.$refs.pageTable._hideLoading()
},
_record(id) {
this.currentComponent = 'Operation'
......
......@@ -185,12 +185,12 @@ export default {
}
},
_reasonResult(data) {
this.$refs.pageTable._showLoading()
if (undefined !== data && data !== '') {
this._reportCheckBack(data)
}
},
_reportCheckBack: async function(data) {
console.log('开始退回')
const result = await soilEntrust.back({
ids: this.selectIds,
remark: data
......@@ -198,8 +198,8 @@ export default {
if (result) {
this.$Message.success('退回成功!')
console.log('退回成功')
await this._page()
this.$refs.pageTable._hideLoading()
}
},
_iconClick(res, data) {
......@@ -293,6 +293,7 @@ export default {
title: '提示',
content: '确定通过该委托单?',
onOk: () => {
this.$refs.pageTable._showLoading()
this._passEntrustReview(this.selectIds)
}
})
......@@ -302,6 +303,7 @@ export default {
if (result) {
this.$Message.success('提交成功!')
await this._page()
this.$refs.pageTable._hideLoading()
}
},
......
......@@ -153,6 +153,9 @@ export default {
}
}
},
mounted() {
this.$refs.pageTable._showLoading()
},
methods: {
_inputChange: async function(info) {
const result = await soilEntrust.sampleEdit({
......@@ -396,8 +399,8 @@ export default {
this.$serializeForm(this.formObj)
)
if (result) {
this.$refs.pageTable._hideLoading()
this.getPage = result
this.$refs.pageTable._hideLoading()
}
},
_deleteByIds(ids, content) {
......
......@@ -3,7 +3,7 @@
<Modal v-model="showModal" :mask-closable="false">
<p slot="header">填写存放信息</p>
<div>
<Form id="storage-location-form" ref="formObj" :model="formObj" :rules="ruleValidate" :label-width="100">
<Form id="storage-location-form" ref="formObj" :model="formObj" :label-width="100">
<Form-item label="存储条件:">
<el-select :value="formObj.conditions" @change="selCondi" style="width:100%" size="small">
<el-option v-for="item in conditionList" :value="item.name" :key="item.name">{{ item.name }}
......@@ -88,9 +88,6 @@ export default {
this.getPage.records[this.currentIndex].backupUser = ''
}
this.formObj.backupUserId = data
// this.$forceUpdate()
// this.getPage.records[this.currentIndex].backupUser = data
// this.getPage.records[this.currentIndex].backupUser = data
},
// 存储条件 回调
_locChangeCondition(msg, data) {
......@@ -150,7 +147,7 @@ export default {
_ok() {
this.$refs.formObj.validate(valid => {
if (valid) {
const data = this.formObj
const data = this.$serializeForm(this.formObj)
this._saveInfo({ id: this.ids.join(','), obj: data })
} else {
this.$Message.error('表单验证失败!')
......@@ -159,9 +156,11 @@ export default {
})
},
_saveInfo: async function(data) {
const result = await soilSample.editBackup(data)
const result = await soilSample.bathUpdateBackupInfo(data)
if (result) {
this.$Message.success('保存成功')
this.$emit('on-result-change')
this.showModal = false
}
}
}
......
......@@ -93,7 +93,7 @@
</div>
<SampleParpareApply ref="applyModal" @on-result-change="_page"></SampleParpareApply>
<Operation ref="recordModal"></Operation>
<SampleParpareBatchEdit ref="batchEdit"></SampleParpareBatchEdit>
<SampleParpareBatchEdit ref="batchEdit" @on-result-change="_page"></SampleParpareBatchEdit>
</div>
</template>
<script>
......
......@@ -5,7 +5,7 @@
<Row>
<!--操作-->
<Col span="24">
<btn-list :msg="btn" class="contHide" @on-result-change="_btnClick"></btn-list>
<btn-list :msg="btn" @on-result-change="_btnClick" class="contHide"></btn-list>
</Col>
<!--内容-->
<Col span="24">
......@@ -14,10 +14,10 @@
:table-height="tableHeight"
:get-page="getPage"
:form-id="formId"
@on-result-change="_tableResultChange"
select-data
is-edit
hide-page
@on-result-change="_tableResultChange">
hide-page>
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
......@@ -32,8 +32,8 @@
<template v-slot:edit="scope">
<div v-if="item.key==='prepareWay'" @click="_handleRow(scope)">
<AutoComplete v-model="scope.row.prepareWay" :down-data="preparationWayData" :way-data="wayData"
:handle-obj="scope" clearable placeholder="输入或选择制备方式"
@on-result-change="_preparationChange"></AutoComplete>
:handle-obj="scope" @on-result-change="_preparationChange" clearable
placeholder="输入或选择制备方式"></AutoComplete>
</div>
<div v-else-if="item.key==='unit'" @click="_handleRow(scope)">
<el-input v-model="scope.row.unit" name="unit" placeholder="输入或选择单位">
......@@ -46,13 +46,13 @@
<span v-else-if="item.key==='type'">{{ scope.row[item.key]===0? '检样':'备样' }}</span>
<div v-else-if="item.key==='keepWay'" @click="_handleRow(scope)">
<AutoComplete v-model="scope.row.keepWay" :handle-obj="scope" :down-data="saveWayData"
clearable placeholder="输入或选择保存方式"
show-key="name" @on-result-change="_saveChange"></AutoComplete>
@on-result-change="_saveChange" clearable
placeholder="输入或选择保存方式" show-key="name"></AutoComplete>
</div>
<div v-else-if="item.key==='keepContainer'" @click="_handleRow(scope)">
<AutoComplete v-model="scope.row.keepContainer" :handle-obj="scope" :down-data="packList"
clearable placeholder="输入或选择保存容器"
show-key="name" @on-result-change="_packSaveChange"></AutoComplete>
@on-result-change="_packSaveChange" clearable
placeholder="输入或选择保存容器" show-key="name"></AutoComplete>
</div>
<!-- <div v-else-if="item.key==='prepareDate'" @click="_handleTimeRow(scope)">-->
<!-- <el-date-picker-->
......@@ -62,16 +62,16 @@
<!-- </el-date-picker>-->
<!-- </div>-->
<div v-else-if="item.key==='prepareDate'" @click="_handleRow(scope)">
<el-date-picker v-model="scope.row.prepareDate" type="datetime" format="yyyy-MM-dd HH:mm" style="width:100%;" placeholder="请选择日期"
@change="timeChange(scope.row)"></el-date-picker>
<el-date-picker v-model="scope.row.prepareDate" @change="timeChange(scope.row)" type="datetime" format="yyyy-MM-dd HH:mm" style="width:100%;"
placeholder="请选择日期"></el-date-picker>
</div>
<div v-else-if="item.key==='preparer'" @click="_handleRow(scope)">
<el-input v-model="scope.row.preparer" placeholder="制备人"
size="small" name="preparer" @focus="_handleRow(scope)"></el-input>
<el-input v-model="scope.row.preparer" @focus="_handleRow(scope)"
placeholder="制备人" size="small" name="preparer"></el-input>
</div>
<div v-else-if="item.key==='remark'" @click="_handleRow(scope)">
<el-input v-model="scope.row.remark" placeholder="备注" size="small"
@focus="_handleRow(scope)"></el-input>
<el-input v-model="scope.row.remark" @focus="_handleRow(scope)" placeholder="备注"
size="small"></el-input>
</div>
<span v-else>{{scope.row[item.key]}}</span>
</template>
......@@ -197,6 +197,9 @@ export default {
isAccurate: ''
}
},
mounted() {
this.$refs.pageTable._showLoading()
},
methods: {
// 获取存储位置
_locationChange(msg, data, handleObj) {
......@@ -300,6 +303,7 @@ export default {
this.currentRow.keepContainer = data.name
},
_open(sampleIds) {
this.$refs.pageTable._showLoading()
this.sampleIds = sampleIds
console.log(this.sampleIds)
this.showModal = true
......@@ -318,13 +322,13 @@ export default {
const result = await soilEntrust.preparePage(this.sampleIds)
if (result) {
console.log(result)
this.$refs.pageTable._hideLoading()
this.getPage.records = result
for (let j = 0; j < result.length; j++) {
console.log(result[j].prepareDate)
console.log(new Date(result[j].prepareDate))
this.getPage.records[j].prepareDate = new Date(result[j].prepareDate)
}
this.$refs.pageTable._hideLoading()
}
},
_footerResult(name) {
......
......@@ -63,6 +63,7 @@
import { soilAptitude, soilEntrust } from '../../../api'
import MeterEntrustRecord from '../../../components/operation/Operation'
import SoilSampleManageHis from '../SoilSampleManageHis'
import global from '../../../api/config'
export default {
// eslint-disable-next-line vue/no-unused-components
components: { SoilSampleManageHis, MeterEntrustRecord },
......@@ -90,6 +91,11 @@ export default {
name: '试样照片'
},
{
type: 'ios-download',
id: '',
name: '导出开土制备记录'
},
{
type: 'md-cloud',
id: '',
name: '附件'
......@@ -160,6 +166,9 @@ export default {
case '资质项目':
this._itemModal(data.id)
break
case '导出开土制备记录':
this._exportPrepare(data.id)
break
case '附件':
this._upload(data.id)
break
......@@ -181,6 +190,20 @@ export default {
}
})
},
_exportPrepare(id) {
this.$Modal.confirm({
title: '提示',
content: '确定导出这条记录',
onOk: () => {
window.open(
global.baseURL +
'/soil/v1/entrust/export_soil_prepare_record?ids=' +
id,
'_blank'
)
}
})
},
_componentResult(data, msg) {
switch (this.currentComponent) {
default:
......
......@@ -2,14 +2,6 @@
<div>
<div class="layout-content-padding">
<div class="layout-content-main">
<!-- <el-tabs v-model="activeName" @tab-click="_changeTabs">-->
<!-- <el-tab-pane label="待完成" name="wait">-->
<!-- <MeterSendEntrust ref="waitTabs"></MeterSendEntrust>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="历史记录" name="his">-->
<!-- <MeterSendEntrustHis ref="hisTabs"></MeterSendEntrustHis>-->
<!-- </el-tab-pane>-->
<!-- </el-tabs>-->
<el-tabs v-model="activeName" @tab-click="_changeTabs">
<el-tab-pane label="待完成" name="wait"></el-tab-pane>
<el-tab-pane label="历史记录" name="his"></el-tab-pane>
......
......@@ -9,11 +9,16 @@
<Row>
<!--查询-->
<Col span="24">
<Form id="search-sample-company" v-show="searchOpen" :label-width="90" inline onsubmit="return false">
<Form id="search-sample-company" v-show="searchOpen" :label-width="100" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item label="试验名称:" class="search-item">
<Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入检测项目" clearable />
</Form-item>
<Form-item label="是否已添加科室:" class="search-item">
<Select v-model="formObj.grouped" clearable name="groupId" style="width:150px" placeholder="请选择是否">
<Option v-for="(item,index) in itemData" :value="item.value" :key="index">{{item.name}}</Option>
</Select>
</Form-item>
<Form-item label="试验科室:" class="search-item">
<Input v-model="formObj.groupName" @on-enter="_formSearch" placeholder="请输入试验科室" clearable />
</Form-item>
......@@ -139,6 +144,16 @@ export default {
name: '删除'
}
],
itemData: [
{
name: '是',
value: 1
},
{
name: '否',
value: 0
}
],
iconMsg: [{ type: 'pt-a-end', id: '', name: '删除' }],
sampleId: '', // 样品id
entrustId: '',
......@@ -191,7 +206,8 @@ export default {
sampleId: undefined,
groupName: undefined,
sampleCode: undefined,
entrustId: undefined
entrustId: undefined,
grouped: undefined
}
}
},
......
......@@ -7,31 +7,31 @@
<Row>
<!--查询-->
<Col span="24">
<Form :label-width="110" v-show="searchOpen" inline onsubmit="return false">
<Form v-show="searchOpen" :label-width="110" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item label="样品编号:" class="search-item">
<Input @on-enter="_formSearch" v-model="formObj.num" placeholder="请输入样品编号" clearable/>
<Input v-model="formObj.num" placeholder="请输入样品编号" clearable @on-enter="_formSearch"/>
</Form-item>
<Form-item label="样品名称:" class="search-item">
<Input @on-enter="_formSearch" v-model="formObj.sampleName" placeholder="请输入样品名称" clearable/>
<Input v-model="formObj.sampleName" placeholder="请输入样品名称" clearable @on-enter="_formSearch"/>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
<Button type="primary" @click="_formSearch">搜索</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col span="24">
<btn-list :msg="btn" @on-result-change="_btnClick" :show-search-btn="true" class="contHide">
<btn-list :msg="btn" :show-search-btn="true" class="contHide" @on-result-change="_btnClick">
</btn-list>
</Col>
<!-- 表格 -->
<Col span="24">
<PTVXETable
ref="pageTable" :tableHeight="tableHeight" @on-result-change="_tableResultChange"
:getPage="getPage"
ref="pageTable" :table-height="tableHeight" :get-page="getPage"
is-group
select-data>
select-data
@on-result-change="_tableResultChange">
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
......@@ -54,21 +54,21 @@
<div v-else-if="item.key==='qualified'">{{scope.row.qualified?scope.row.qualified.display:''}}</div>
<!--科室 start-->
<div v-else-if="item.key==='groupName'">
<el-select v-model="scope.row.groupName" @change="_groupChange" @click.native.stop="_handleRow(scope)"
transfer
size="small">
<el-option :label="item.name" :value="item.name" v-for="item in groupData"
:key="item.name"></el-option>
<el-select v-model="scope.row.groupName" transfer size="small"
@change="_groupChange"
@click.native.stop="_handleRow(scope)">
<el-option v-for="item in groupData" :key="item.name" :label="item.name"
:value="item.name"></el-option>
</el-select>
</div>
<!--科室 end-->
<!--检测依据简称 start-->
<div v-else-if="item.key==='testBasisSm'">
<el-select v-model="scope.row.testBasisSm"
@change="_saveTestBasisSm(scope)"
placeholder="请选择检测依据简称"
size="small"
style="width:100%">
style="width:100%"
@change="_saveTestBasisSm(scope)">
<el-option
v-for="item in testBasisSmList"
:key="item"
......@@ -77,23 +77,6 @@
</el-option>
</el-select>
</div>
<!--检测依据简称 end-->
<!--检测依据名+号 start-->
<div v-else-if="item.key==='testBasisAndName'">
<AutoCompletesTestBasis :value="scope.row.testBasisAndName" :downData="testBasisData"
@on-result-change="_testBasisChange" :handleObj="scope"
placeholder="请选择检测依据" focus blur
></AutoCompletesTestBasis>
</div>
<!--检测依据名+号 end-->
<!--检测方法 start-->
<div v-else-if="item.key==='testMethod'">
<AutoCompletes :value="scope.row.testMethod" :downData="testMethodData"
@on-result-change="_testMethodChange" :handleObj="scope"
placeholder="请选择检测方法" focus blur show-key="testMethod"
></AutoCompletes>
</div>
<!--检测方法 end-->
<div v-else>{{scope.row[item.key]}}</div>
</template>
<template slot-scope="scope">
......@@ -148,7 +131,10 @@ export default {
// {type: '', id: 'food-sampling-list-reset-sc-id', name: '重置省局ID',},
],
sampleId: '',
formObj: {},
formObj: {
groupId: undefined,
sampleId: undefined
},
receiveDateList: [],
ctimeList: [],
samplingDateList: [],
......@@ -211,185 +197,7 @@ export default {
}
})
},
// 方法简称(只是这个界面同批量的方法一样)
_saveTestBasisSm(data) {
this.currentRow = data.row
this.$store
.dispatch('FoodItem/assignmentAbbreviation', {
ids: this.currentRow.id,
abbreviation: this.currentRow.testBasisSm
})
.then(() => {
const result = this.$store.state.FoodItem.success
if (result) {
// 不要刷新表格,只刷新当前行数据
this.$store
.dispatch('FoodItem/getItemByContract', {
id: this.currentRow.id,
contractId: this.formObj.contractId,
page: 1,
rows: 1,
qced: 0
})
.then(() => {
const newObj = this.$store.state.FoodItem.page.records
if (newObj && newObj.length > 0) {
this.$set(
this.currentRow,
'testBasisAndName',
newObj[0].testBasisAndName ? newObj[0].testBasisAndName : ''
)
this.$set(
this.currentRow,
'testBasisId',
newObj[0].testBasisId ? newObj[0].testBasisId : ''
)
this.$set(
this.currentRow,
'testBasisName',
newObj[0].testBasisName ? newObj[0].testBasisName : ''
)
this.$set(
this.currentRow,
'testBasis',
newObj[0].testBasis ? newObj[0].testBasis : ''
)
this.$set(
this.currentRow,
'testMethod',
newObj[0].testMethod ? newObj[0].testMethod : ''
)
this.$set(
this.currentRow,
'groupName',
newObj[0].groupName ? newObj[0].groupName : ''
)
this.$set(
this.currentRow,
'groupId',
newObj[0].groupId ? newObj[0].groupId : ''
)
}
})
}
})
},
// 获取检测依据
_testBasisList(data) {
const obj = {}
if (this.currentRow.name) {
obj.name = this.currentRow.name
} else {
// 没有填检测项目检测依据的下拉就为空
this.testBasisData = []
return
}
if (data) {
obj.testBasis = data
}
this.$store.dispatch('FoodAptitudeItem/getTestBasis', obj).then(() => {
this.testBasisData = this.$store.state.FoodAptitudeItem.list
})
},
// 检测依据结果
_testBasisChange(msg, data, handleObj) {
this._handleRow(handleObj)
switch (msg) {
case 'select':
this.currentRow.testBasisAndName =
data.testBasis + ' ' + data.testBasisName
this.currentRow.testBasis = data.testBasis
this.currentRow.testBasisId = data.stdId
this.currentRow.testBasisName = data.testBasisName
this.currentRow.groupId = data.groupId
? data.groupId
: this.groupData[0].id
this.currentRow.groupName = data.groupName
? data.groupName
: this.groupData[0].name
this._save()
break
case 'query':
this.currentRow.testBasisAndName = data
// 只要搜索就清空已填的值
this.currentRow.testBasisName = ''
this.currentRow.testBasisId = ''
this.currentRow.testBasis = ''
this._testBasisList(data)
break
case 'focus':
this._testBasisList()
break
case 'blur':
// 如果没有依据,则清空
if (this.currentRow.testBasisId === '') {
this.currentRow.testBasisAndName = ''
}
this._save()
break
}
},
// 获取检测方法
_testMethodList(testMethod) {
const obj = {}
if (this.currentRow.name && this.currentRow.testBasisId) {
obj.name = this.currentRow.name
obj.stdId = this.currentRow.testBasisId
} else {
this.testMethodData = []
return
}
if (testMethod) {
obj.testMethod = testMethod
}
this.$store.dispatch('FoodAptitudeItem/getTestMethod', obj).then(() => {
this.testMethodData = this.$store.state.FoodAptitudeItem.list
})
},
// 检测方法结果
_testMethodChange(msg, data, handleObj) {
this._handleRow(handleObj)
switch (msg) {
case 'select':
this.$set(this.currentRow, 'testMethod', data.testMethod)
// testMethodTemp 临时存在
this.$set(this.currentRow, 'testMethodTemp', data.testMethod)
// 查询科室
this.$store
.dispatch('FoodAptitudeItem/getGroupInfo', {
name: this.currentRow.name,
stdId: this.currentRow.testBasisId,
testMethod: this.currentRow.testMethod
})
.then(() => {
const groupObj = this.$store.state.FoodAptitudeItem.model
this.$set(this.currentRow, 'groupId', groupObj.groupId)
this.$set(this.currentRow, 'groupName', groupObj.groupName)
this._save()
})
break
case 'query':
this.$set(this.currentRow, 'testMethod', data.testMethod)
this.$set(this.currentRow, 'testMethodTemp', '')
this._testMethodList(data.testMethod)
break
case 'focus':
this._testMethodList()
break
case 'blur':
// 只能选择检测方法
if (
this.currentRow.testMethodTemp === '' ||
this.currentRow.testMethodTemp === undefined
) {
this.$set(this.currentRow, 'testMethod', '')
}
this._save()
break
}
},
// 抽样日期
_samplingDateChange(data) {
this.formObj.samplingDateBegin = data[0]
......@@ -407,10 +215,6 @@ export default {
},
_tableResultChange(msg, data) {
switch (msg) {
case 'page':
this.getPage = this.$store.state.FoodItem.page
this.selectIds = []
break
case 'selectData':
const selectIds = []
for (let i = 0; i < data.length; i++) {
......@@ -426,201 +230,16 @@ export default {
},
_btnClick(msg) {
switch (msg) {
case '匹配省抽项目':
this._matchItem()
break
case '删除':
this._deleteSelected()
break
case '选择依据简称':
this._selTestBasisSm()
break
case '重置省局ID':
this._resetScId()
break
case '终止':
this._operateItem(msg)
break
case '恢复终止项目':
this._operateItem(msg)
break
case 'search':
this.searchOpen = !this.searchOpen
break
}
},
// 恢复、终止
_operateItem(name) {
const ids = this.selectIds
if (ids.length === 0) {
this.$Message.warning('请至少选择一条数据!')
} else if (name === '终止') {
this.$Modal.confirm({
title: '提示',
content: '确定要' + name + '这 ' + ids.length + ' 条项目?',
onOk: () => {
this.$refs.reasonModal._open('终止原因')
}
})
} else if (name === '恢复终止项目') {
this.$store
.dispatch('FoodItem/restoreVerification', {
ids: this.selectIds.join(',')
})
.then(() => {
const result = this.$store.state.FoodItem.success
this._restore(result)
})
}
},
// 终止项目恢复
_restore(result) {
if (result !== '') {
this.$Modal.confirm({
title: '提示',
content: result,
onOk: () => {
this.$store
.dispatch('FoodItem/projectRestore', {
ids: this.selectIds.join(','),
contractId: this.formObj.contractId,
deleteReport: 1
})
.then(() => {
this._resultChange('恢复成功!')
})
}
})
} else {
this.$store
.dispatch('FoodItem/projectRestore', {
ids: this.selectIds.join(','),
contractId: this.formObj.contractId,
deleteReport: 0
})
.then(() => {
this._resultChange('恢复成功!')
})
}
},
// 原因返回的结果
_reasonResult(data, msg) {
const temp = {
reason: data,
ids: this.selectIds.join(','),
contractId: this.formObj.contractId
}
if (msg === '终止原因') {
this.$store.dispatch('FoodItem/archivesStop', temp).then(() => {
this._resultChange('终止成功!')
})
}
},
_resetScId() {
if (this.selectIds.length === 0) {
this.$Modal.confirm({
title: '提示',
content: '请确认是否重置整个任务下所有检测项目的省局ID?',
onOk: () => {
this._resetScIdOk()
}
})
} else {
this._resetScIdOk()
}
},
_resetScIdOk() {
const obj = { contractId: this.formObj.contractId }
if (this.selectIds.length) {
obj.ids = this.selectIds.join(',')
}
this.$store.dispatch('FoodItem/resetProvinceItemId', obj).then(() => {
if (this.$store.state.FoodItem.success) {
this.$Message.success('操作成功!')
this._page()
}
})
},
// 选择检测依据简称
_selTestBasisSm() {
if (this.selectIds.length === 0) {
this.$Message.warning('请至少选择一条检测项目!')
} else {
this.$store
.dispatch('FoodItem/listAbbreviationByItem', {
ids: this.selectIds.join(',')
})
.then(() => {
const result = this.$store.state.FoodItem.list
// 弹出选择框
this.$refs.basisSmModal._open(this.selectIds, result)
})
}
},
_matchItem() {
const list = this.selectData
for (let i = 0; i < list.length; i++) {
const obj = this.selectData.find(item => item.name !== list[i].name)
if (obj) {
this.$Modal.confirm({
title: '提示',
content:
'一次只能手动匹配同一分类下的同一项目,您选中的检测项目名称不同,是否继续?',
onOk: () => {
this.$refs.matchModal._open(
this.selectIds,
this.formObj.contractId
)
}
})
return
}
}
this.$refs.matchModal._open(this.selectIds, this.formObj.contractId)
},
_matchChange(msg) {
switch (msg) {
case 'page':
this._page()
break
case 'manual':
this.$refs.tabModal._open(
this.formObj.contractId,
this.selectIds,
this.selectData[0].samplingNum,
this.selectData[0].provinceClassifyId
)
break
}
},
_deleteSelected() {
// 批量删除
const ids = this.selectIds
if (ids.length === 0) {
this.$Message.warning('请选择一条或多条数据!')
} else {
this._deleteByIds(ids, '确定删除 ' + ids.length + ' 条记录?')
}
},
_deleteByIds(ids, content) {
this.$Modal.confirm({
title: '提示',
content: content,
onOk: () => {
this.$store
.dispatch('FoodItem/deleteItemByIds', { ids: ids.join(',') })
.then(() => {
this._resultChange('删除成功!')
})
}
})
},
_resultChange(msg) {
if (this.$store.state.FoodItem.success) {
this._page()
this.$Message.success(msg)
this.selectIds = []
this.$emit('on-result-change')
}
},
_formSearch() {
......@@ -639,79 +258,15 @@ export default {
console.log(result)
}
},
_open(id, type) {
_open(id, groupId) {
this.sampleId = id
this.formObj = this.$resetFields(this.formObj)
this.type = type
this.formObj.sampleId = id
this.formObj.groupId = groupId
this.showModal = true
this.currentRow = {}
this.selectGroupData = []
this._page()
},
_detailModal(id) {
this.$store.dispatch('FoodSample/getByGovernId', id).then(() => {
this.$refs.governSampleDetail._open(
this.$store.state.FoodSample.governModel
)
})
},
// 保存 除结果判定(除手工判定)
_save() {
let tempBool = true
setTimeout(() => {
if (tempBool) {
this.$refs.pageTable._showLoading()
}
}, 1500)
const item = this.currentRow
const obj = {
unit: item.unit,
testMethod: item.testMethod,
limitDefault: item.limitDefault,
limitValue: item.limitValue,
compareSymbol: item.compareSymbol,
limitType: item.limitType,
judged: item.judged,
detection: item.detection,
labRemark: item.labRemark,
microbeN: item.microbeN ? item.microbeN : 0,
microbeC: item.microbeC ? item.microbeC : 0,
microbeM: item.microbeM ? item.microbeM : 0,
microbeBm: item.microbeBm ? item.microbeBm : 0,
qualified: item.qualified.value,
subClass: item.subClass,
testBasisSm: item.testBasisSm,
testBasisName: item.testBasisName,
testBasis: item.testBasis,
singleConclusion: item.singleConclusion,
groupId: item.groupId,
groupName: item.groupName
}
if (item.testBasisId) {
obj.testBasisId = item.testBasisId
}
if (item.judgeBasisId) {
obj.judgeBasisId = item.judgeBasisId
obj.judgeBasis = item.judgeBasis
obj.judgeBasisName = item.judgeBasisName
} else {
obj.judgeBasis = item.judgeBasis
obj.judgeBasisName = item.judgeBasisName
}
const data = {
id: item.id,
obj: obj
}
this.$store.dispatch('FoodItem/itemEdit', data).then(() => {
if (this.$store.state.FoodItem.success) {
tempBool = false
this.$refs.pageTable._hideLoading()
} else {
this.$Message.error('保存失败')
tempBool = false
this.$refs.pageTable._hideLoading()
}
})
}
}
}
......
......@@ -114,23 +114,12 @@ export default {
id: 'rel-sample-receive-del-sample',
name: '删除'
},
copy: {
type: 'ios-copy',
id: 'rel-sample-receive-copy-sample',
name: '复制'
},
record: {
type: 'ios-clock',
id: '',
name: '操作日志',
componentName: 'FoodSampleRecord'
},
sampleDownloadContract: {
type: 'share',
id: 'food-sample-receive-sample-download-contract',
name: '导出委托协议'
},
getPage: {},
pageColumns: [
{ title: '试样编号', key: 'sampleCode', width: 130 },
......
<template>
<div>
<Modal v-model="showSampleModal" @on-visible-change="_visibleChange"
width="1100" class="zIndex-900 modal-footer-none">
<Modal v-model="showSampleModal" width="1100"
class="zIndex-900 modal-footer-none" @on-visible-change="_visibleChange">
<div>
<!--内容-->
<Row>
<!--查询-->
<Col span="24" style="padding-bottom: 5px">
<Form id="search-wait" v-show="searchOpen" :label-width="90" inline onsubmit="return false">
<Form v-show="searchOpen" id="search-wait" :label-width="90" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item label="试样编号:" class="search-item">
<Input v-model="formObj.sampleCode" @on-enter="_formSearch" name="sampleCode" placeholder="请输入样品编号" clearable></Input>
<Input v-model="formObj.sampleCode" name="sampleCode" placeholder="请输入样品编号" clearable @on-enter="_formSearch"></Input>
<input name="contractId" type="hidden">
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
<Button type="primary" @click="_formSearch">搜索</Button>
</Form-item>
</Form>
</Col>
<Col span="24">
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" @on-result-change="_btnClick" class="contHide">
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" class="contHide" @on-result-change="_btnClick">
<!--<template slot="processTask">-->
<!--<div class="fr process-task">-->
<!--<Button @click="_exportReceiveRecord">导出交接记录</Button>-->
......@@ -33,8 +33,8 @@
:table-height="tableHeight"
:get-page="getPage"
:icon-msg="iconMsg"
@on-result-change="_tableResultChange"
select-data>
select-data
@on-result-change="_tableResultChange">
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
......@@ -76,8 +76,8 @@ export default {
{ title: '试样编号', key: 'sampleCode', width: 100, fixed: 'left' },
{ title: '试样深度', key: 'sampleDepth', width: 95 },
{ title: '检测科室', key: 'groupName', width: 95 },
{ title: '土质描述', key: 'sampleDescribe', width: 185 },
{ title: '样品描述', key: 'describeDetail', width: 185 },
{ title: '土质描述', key: 'describeDetail', width: 285 },
{ title: '样品描述', key: 'sampleDescribe', width: 130 },
{ title: '样品包装类型', key: 'samplePack', width: 120 },
{ title: '样品制备人', key: 'preparer', width: 120 },
{ title: '样品制备时间', key: 'prepareDate', width: 135, date: true }
......@@ -213,7 +213,7 @@ export default {
this._editModal(true, data)
break
case '试验项目':
this._itemManage(data.sampleId)
this._itemManage(data.sampleId, data.groupId)
break
case '复制':
this._copySample(data)
......@@ -230,13 +230,9 @@ export default {
}
})
},
_itemManage(data) {
_itemManage(sampleId, groupId) {
// 管理检测项目
if (this.recordHis) {
this.$refs.sampleItemManage._openRecord(data)
} else {
this.$refs.ItemManage._open(data)
}
this.$refs.ItemManage._open(sampleId, groupId)
},
_btnClick(msg, currentComponent) {
this.currentComponent = currentComponent
......
......@@ -5,10 +5,9 @@
<div>
<Form id="storage-location-form" ref="formObj" :model="formObj" :rules="ruleValidate" :label-width="100">
<Form-item label="保存容器:" prop="keepContainer">
<el-select v-model="formObj.keepContainer" clearable style="width:100%" size="small">
<el-option v-for="item in containerList" :value="item.name" :key="item.name">{{ item.name }}
</el-option>
</el-select>
<AutoCompletes v-model="formObj.keepContainer" :downData="containerList"
@on-result-change="_containerChange" name="keepContainer" placeholder="输入或选择保存容器"
></AutoCompletes>
</Form-item>
<Form-item label="制备数量">
<Input v-model="formObj.quantity" clearable placeholder="请输入备样数量"></Input>
......@@ -26,9 +25,10 @@
</template>
<script>
import { soilSample } from '../../../api'
import AutoCompletes from '../../../components/base/AutoCompletes'
export default {
components: {},
components: { AutoCompletes },
data() {
return {
ids: [], // 委托ids
......@@ -56,7 +56,19 @@ export default {
_getContainerList: async function() {
const result = await soilSample.getDictList('保存容器')
if (result) {
this.containerList = result
for (let i = 0; i < result.length; i++) {
this.containerList.push(result[i].name)
}
}
},
_containerChange(msg, data) {
switch (msg) {
case 'select':
this.formObj.keepContainer = data
break
case 'query':
this.formObj.keepContainer = data
break
}
},
_locChange(msg, data) {
......@@ -155,7 +167,7 @@ export default {
})
},
_saveInfo: async function(data) {
const result = await soilSample.editPrepare(data)
const result = await soilSample.bathUpdateSurplusInfo(data)
if (result) {
this.$Message.success('保存成功')
this.$emit('on-result-change')
......
......@@ -42,11 +42,16 @@
<div v-else-if="item.key==='keepContainer'">
<div v-if="editIndex!==scope.rowIndex">{{scope.row[item.key]}}</div>
<div v-else>
<el-select v-model="scope.row.keepContainer" clearable style="width:100%" size="small">
<el-option v-for="item in containerList" :value="item.name" :key="item.name">{{ item.name }}
</el-option>
</el-select>
<AutoCompletes v-model="scope.row.keepContainer" :downData="containerList"
@on-result-change="_containerChange" name="keepContainer" placeholder="输入或选择保存容器"
></AutoCompletes>
</div>
<!-- <div v-else>-->
<!-- <el-select v-model="scope.row.keepContainer" clearable style="width:100%" size="small">-->
<!-- <el-option v-for="item in containerList" :value="item.name" :key="item.name">{{ item.name }}-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </div>-->
</div>
<div v-else-if="item.key==='quantity'">
<div v-if="editIndex!==scope.rowIndex">{{scope.row[item.key]}}</div>
......@@ -90,11 +95,13 @@ import SampleSurplusBatchEdit from '../SampleSurplusBatchEdit'
import http from '../../../../api/http'
import { soilSample } from '../../../../api'
import Operation from '../../../../components/operation/Operation'
import AutoCompletes from '../../../../components/base/AutoCompletes'
export default {
components: {
SampleParpareApply,
Operation,
SampleSurplusBatchEdit
SampleSurplusBatchEdit,
AutoCompletes
},
data() {
return {
......@@ -213,7 +220,9 @@ export default {
_getContainerList: async function() {
const result = await soilSample.getDictList('保存容器')
if (result) {
this.containerList = result
for (let i = 0; i < result.length; i++) {
this.containerList.push(result[i].name)
}
}
},
// 查询卡片备样数量
......@@ -226,6 +235,16 @@ export default {
}
})
},
_containerChange(msg, data) {
switch (msg) {
case 'select':
this.getPage.records[this.currentIndex].keepContainer = data
break
case 'query':
this.getPage.records[this.currentIndex].keepContainer = data
break
}
},
// 选择时间
_endDateChange(data) {
this.getPage.records[this.currentIndex].endDate = data
......
......@@ -76,7 +76,7 @@ export default {
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
this.formObj.experimentId = this.id
this.formObj.expId = this.id
const result = await soilTest.equipPage(this.$serializeForm(this.formObj))
if (result) {
console.log(result)
......
......@@ -76,7 +76,7 @@ export default {
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
this.formObj.experimentId = this.id
this.formObj.expId = this.id
const result = await soilTest.equipPage(this.$serializeForm(this.formObj))
if (result) {
console.log(result)
......
......@@ -76,7 +76,7 @@ export default {
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
this.formObj.experimentId = this.id
this.formObj.expId = this.id
const result = await soilTest.equipPage(this.$serializeForm(this.formObj))
if (result) {
console.log(result)
......
......@@ -59,11 +59,6 @@
</div>
<!--组件加载-->
<!--选择领样人-->
<!-- <UserInfo ref="userModal" @on-result-change="_userResult"></UserInfo>-->
<!-- <SampleManage ref="sampleManageModal" @on-result-change="_page"></SampleManage>-->
<!-- <ItemManage ref="itemManageModal" @on-result-change="_page"></ItemManage>-->
<!-- <Operation ref="operation"></Operation>-->
<!-- <FileManage ref="FileManage"></FileManage>-->
<keep-alive>
<!-- eslint-disable-next-line vue/require-component-is -->
<component ref="refModal" :is="currentComponent" @on-result-change="_componentResult"></component>
......
......@@ -43,12 +43,11 @@ export default {
},
methods: {
_open(contractId, type, name) {
this.type = type // 类型(采样或送样)
this.type = type
this.name = name
this.showSampleModal = true
this.entrustId = contractId // 合同id
this.entrustId = contractId
this.activeName = 'waitReceive'
// this.currentComponent = 'waitScan'
this.selectIds = []
this._waitPage()
},
......
......@@ -6,7 +6,7 @@
<Form id="task-assign-item-left" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="检测项目:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -51,7 +51,9 @@ export default {
data() {
return {
currentComponent: '',
formObj: {},
formObj: {
name: undefined
},
tableName: 'food-task-assign-item-left',
// 用户自己选中的列
userColumns: [],
......
......@@ -5,8 +5,8 @@
<Col span="24">
<Form id="task-assign-item-right" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="检测项目:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Form-item class="search-item" label="试样编号:">
<Input v-model="formObj.sampleCode" @on-enter="_formSearch" placeholder="请输入试样编号" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -19,8 +19,8 @@
</Col>
<!-- 表格 -->
<Col span="24">
<PTVXETable ref="pageTable" :pageColumns="pageColumns" :tableHeight="tableHeight"
@on-result-change="_tableResultChange" :getPage="getPage" :table-name="tableName" is-task select-data>
<PTVXETable ref="pageTable" :page-columns="pageColumns" :table-height="tableHeight"
:get-page="getPage" :table-name="tableName" @on-result-change="_tableResultChange" is-task select-data>
<vxe-table-column
v-for="item in userColumns.length > 0 ?userColumns:pageColumns"
:key="item.key"
......@@ -41,8 +41,8 @@
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
<VXESettingCol slot="setting" :pageColumns="pageColumns" :userColumns="userColumns"
@on-result-change="_resetColumn" :table-name="tableName"></VXESettingCol>
<VXESettingCol slot="setting" :page-columns="pageColumns" :user-columns="userColumns"
:table-name="tableName" @on-result-change="_resetColumn"></VXESettingCol>
</PTVXETable>
</Col>
</Row>
......@@ -63,47 +63,22 @@ export default {
entrustId: '',
name: '',
testMethod: '',
testBasis: ''
testBasis: '',
sampleCode: undefined
},
itemName: '',
entrustId: '',
// 用户自己选中的列
userColumns: [],
currentComponent: '',
optionList: [
{ key: 'name', name: '检测项目', placeholder: '请输入检测项目' },
{ key: 'code', name: '委托编号', placeholder: '请输入委托编号' },
{ key: 'num', name: '样品编号', placeholder: '请输入样品编号' },
{ key: 'sampleName', name: '样品名称', placeholder: '请输入样品名称' },
{ key: 'testBasis', name: '检测依据', placeholder: '请输入检测依据' },
{
key: 'resultDate',
name: '数据出具日期',
placeholder: '请选择数据出具日期',
date: true
},
{
key: 'receiveDate',
name: '接样日期',
placeholder: '请选择接样日期',
date: true
},
{ key: 'tester', name: '主检人', placeholder: '请输入主检人' },
{ key: 'detectType', name: '样品类别', placeholder: '请输入样品类别' }
],
btn: [
{ type: 'success', id: '', name: '试验项目分配' },
{ type: '', id: 'food-task-assign-adjust-group', name: '调整分组' },
{
type: '',
id: 'food-task-assign-plan-date',
name: '设置计划完成时间'
},
{ type: '', id: 'food-task-assign-maintain-info', name: '信息维护' }
],
btn: [{ type: 'success', id: '', name: '调整试验项目检测人' }],
getPage: {},
pageColumns: [
{ title: '检测项目', key: 'name', width: 120, fixed: 'left' },
{ title: '试样编号', key: 'sampleCode', width: 180 },
{ title: '试验人员', key: 'tester', width: 180 },
{ title: '分配人', key: 'alloter', width: 180 },
{ title: '分配时间', key: 'allotTime', width: 180, datetime: true },
{ title: '试样深度', key: 'sampleDepth', width: 180 },
{ title: '试样包装类型', key: 'samplePack', width: 180 },
{ title: '大类', key: 'mainType', width: 140 },
......@@ -191,6 +166,10 @@ export default {
break
}
},
_clearPage() {
this.formObj.sampleCode = ''
this.getPage = {}
},
_modalResult(data) {
switch (this.currentComponent) {
case 'AssignPerson':
......@@ -264,10 +243,8 @@ export default {
switch (msg) {
case '按人分配':
this._allotByPerson()
// await this._reportDueDate()
// await this._userAssign()
break
case '试验项目分配':
case '调整试验项目检测人':
this._userAssign()
break
case '按组分配':
......@@ -370,13 +347,6 @@ export default {
switch (msg) {
case 'page':
this._page()
// this.result = this.getPage.records;
// this.$nextTick(() => {
// this.$refs.pageTable._checkAll()
// })
// if (this.getPage.records.length === 0) {
// this.$emit('on-result-change')
// }
break
case 'selectData':
for (let i = 0; i < data.length; i++) {
......@@ -405,7 +375,7 @@ export default {
this._allotItems(tempData)
},
_allotItems: async function(data) {
const result = await soilTest.allotExp(data)
const result = await soilTest.changeExpAllot(data)
if (result) {
this._resultChange('分配成功')
}
......@@ -414,37 +384,6 @@ export default {
const user = Global.getUserInfo('userInfo')
console.log(user)
this.$refs.personModal._openGoup('分配人员', 'itemTree')
// if (this.defaultPlanDate) {
// // 有字典
// if (this.sampleNames === '') {
// // 有计划完成时间
// const user = Global.getUserInfo('userInfo')
// this.currentComponent = 'AssignPerson'
// this.$nextTick(function() {
// this.$refs.refModal._openGoupByUserId(
// '分配人员',
// user.id,
// 'itemTree'
// )
// })
// } else {
// // 有字典,无计划完成时间的
// this.$Modal.confirm({
// title: '提示',
// content:
// '所选项目中含有未设置计划完成时间的' +
// `${this._reportDueDate()}` +
// '请确认!',
// onOk: () => {}
// })
// }
// } else {
// // 无字典
// this.currentComponent = 'EndDateModal'
// this.$nextTick(() => {
// this._endDate()
// })
// }
},
// 遍历出计划时间为空的样品名
_reportDueDate() {
......
......@@ -5,8 +5,8 @@
<Col span="24">
<Form id="task-assign-sample-left" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="委托编号:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Form-item class="search-item" label="试样编号:">
<Input v-model="formObj.sampleCode" @on-enter="_formSearch" placeholder="请输入试样编号" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -51,7 +51,8 @@ export default {
return {
currentComponent: '',
formObj: {
entrustId: undefined
entrustId: undefined,
sampleCode: undefined
},
entrustId: '',
tableName: 'food-task-assign-item-left',
......
......@@ -5,22 +5,22 @@
<Col span="24">
<Form id="task-assign-sample-right" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="委托编号:">
<Input v-model="formObj.client" placeholder="请输入检测项目" clearable @on-enter="_formSearch"></Input>
<Form-item class="search-item" label="试验名称:">
<Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入试验名称" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button type="primary" @click="_formSearch">搜索</Button>
<Button @click="_formSearch" type="primary">搜索</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col span="24">
<btn-list :msg="btn" class="contHide" @on-result-change="_btnClick"></btn-list>
<btn-list :msg="btn" @on-result-change="_btnClick" class="contHide"></btn-list>
</Col>
<!-- 表格 -->
<Col span="24">
<PTVXETable ref="pageTable" :page-columns="pageColumns" :table-height="tableHeight"
:get-page="getPage" :table-name="tableName" is-task select-data @on-result-change="_tableResultChange">
:get-page="getPage" :table-name="tableName" @on-result-change="_tableResultChange" is-task select-data>
<vxe-table-column
v-for="item in userColumns.length > 0 ?userColumns:pageColumns"
:key="item.key"
......@@ -60,7 +60,9 @@ export default {
return {
// 定义表格名称----英文
tableName: 'food-task-assign-item-right',
formObj: {},
formObj: {
sampleCode: undefined
},
// 用户自己选中的列
userColumns: [],
currentComponent: '',
......@@ -85,11 +87,12 @@ export default {
{ key: 'tester', name: '主检人', placeholder: '请输入主检人' },
{ key: 'detectType', name: '样品类别', placeholder: '请输入样品类别' }
],
btn: [{ type: 'success', id: '', name: '试验项目分配' }],
btn: [{ type: 'success', id: '', name: '调整试验项目检测人' }],
getPage: {},
pageColumns: [
{ title: '试验名称', key: 'name', width: 160 },
{ title: '样品编号', key: 'sampleCode', width: 160 },
{ title: '试样编号', key: 'sampleCode', width: 160 },
{ title: '试验人员', key: 'tester', width: 180 },
{ title: '分配人', key: 'alloter', width: 160 },
{ title: '分配时间', key: 'allotTime', width: 160, datetime: true },
{ title: '试验项目英文简写', key: 'shortName', width: 140 },
......@@ -251,7 +254,7 @@ export default {
},
async _btnClick(msg) {
switch (msg) {
case '试验项目分配':
case '调整试验项目检测人':
this._userAssign()
break
case '按组分配':
......@@ -376,37 +379,6 @@ export default {
const user = Global.getUserInfo('userInfo')
console.log(user)
this.$refs.personModal._openGoup('分配人员', 'itemTree')
// if (this.defaultPlanDate) {
// // 有字典
// if (this.sampleNames === '') {
// // 有计划完成时间
// const user = Global.getUserInfo('userInfo')
// this.currentComponent = 'AssignPerson'
// this.$nextTick(function() {
// this.$refs.refModal._openGoupByUserId(
// '分配人员',
// user.id,
// 'itemTree'
// )
// })
// } else {
// // 有字典,无计划完成时间的
// this.$Modal.confirm({
// title: '提示',
// content:
// '所选项目中含有未设置计划完成时间的' +
// `${this._reportDueDate()}` +
// '请确认!',
// onOk: () => {}
// })
// }
// } else {
// // 无字典
// this.currentComponent = 'EndDateModal'
// this.$nextTick(() => {
// this._endDate()
// })
// }
},
// 遍历出计划时间为空的样品名
_reportDueDate() {
......@@ -497,7 +469,7 @@ export default {
this._allotItems(tempData)
},
_allotItems: async function(data) {
const result = await soilTest.allotExp(data)
const result = await soilTest.changeExpAllot(data)
if (result) {
this._resultChange('分配成功')
}
......
......@@ -68,9 +68,11 @@ export default {
if (tab.name === 'alreadyIssued') {
// this._issuedPage()
} else if (tab.name === 'waitReceive') {
this.$refs.waitScanModal._clearTab()
// this._waitPage()
this.$refs.waitReceiveModal._open(this.entrustId)
} else if (tab.name === 'waitScan') {
this.$refs.waitReceiveModal._clearTab()
this.$refs.waitScanModal._open(this.entrustId)
// this._waitSend()
}
......
......@@ -6,7 +6,7 @@
<Form id="task-assign-item-left" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="检测项目:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -51,7 +51,9 @@ export default {
data() {
return {
currentComponent: '',
formObj: {},
formObj: {
name: undefined
},
tableName: 'food-task-assign-item-left',
// 用户自己选中的列
userColumns: [],
......
......@@ -5,8 +5,8 @@
<Col span="24">
<Form id="task-assign-item-right" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="检测项目:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Form-item class="search-item" label="试样编号:">
<Input v-model="formObj.sampleCode" @on-enter="_formSearch" placeholder="请输入试样编号" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -63,7 +63,8 @@ export default {
entrustId: '',
name: '',
testMethod: '',
testBasis: ''
testBasis: '',
sampleCode: undefined
},
entrustId: '',
// 用户自己选中的列
......@@ -414,6 +415,11 @@ export default {
this._resultChange('分配成功')
}
},
_clearPage() {
this.leftSelectData = []
this.formObj.sampleCode = ''
this.getPage = {}
},
_userAssign() {
const user = Global.getUserInfo('userInfo')
console.log(user)
......
......@@ -40,6 +40,9 @@ export default {
console.log(id)
this.$refs.leftModal._open(this.id)
// this.$refs.rightModal._getColumn()
},
_clearTab() {
this.$refs.rightModal._clearPage()
}
}
}
......
......@@ -5,8 +5,8 @@
<Col span="24">
<Form id="task-assign-sample-left" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="委托编号:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Form-item class="search-item" label="试样编号:">
<Input v-model="formObj.sampleCode" @on-enter="_formSearch" placeholder="请输入试样编号" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -51,7 +51,8 @@ export default {
return {
currentComponent: '',
formObj: {
entrustId: undefined
entrustId: undefined,
sampleCode: undefined
},
entrustId: '',
tableName: 'food-task-assign-item-left',
......
......@@ -5,8 +5,8 @@
<Col span="24">
<Form id="task-assign-sample-right" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="委托编号:">
<Input v-model="formObj.client" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
<Form-item class="search-item" label="试验名称:">
<Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入试验名称" clearable></Input>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
......@@ -60,7 +60,9 @@ export default {
return {
// 定义表格名称----英文
tableName: 'food-task-assign-item-right',
formObj: {},
formObj: {
name: undefined
},
// 用户自己选中的列
userColumns: [],
currentComponent: '',
......@@ -185,6 +187,11 @@ export default {
break
}
},
_clearPage() {
this.formObj.name = ''
this.getPage = {}
this.sampleIds = []
},
_modalResult(data) {
switch (this.currentComponent) {
case 'AssignPerson':
......
......@@ -35,6 +35,9 @@ export default {
_open(id) {
this.$refs.SampleleftModal._open(id)
// this.$refs.rightModal._getColumn()
},
_clearTab() {
this.$refs.SamplerightModal._clearPage()
}
}
}
......
......@@ -41,7 +41,7 @@ const Iframe = {
modalDiv.className = 'record-modal'
// 设置属性
$(modalDiv).css({
'z-index': '3000',
'z-index': '2147483647',
left: '0',
top: '0',
height: windowHeight,
......
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