Commit 63b3f026 by zhangmengqi

Merge branch 'dev'

parents 55c8c020 53c2fb5e
...@@ -6,21 +6,21 @@ ...@@ -6,21 +6,21 @@
<Row> <Row>
<!--查询--> <!--查询-->
<Col span="24" style="margin-top: 10px"> <Col span="24" style="margin-top: 10px">
<Form v-show="searchOpen" id="formId" :label-width="90" inline onsubmit="return false"> <Form id="formId" v-show="searchOpen" :label-width="90" inline onsubmit="return false">
<label class="label-sign"></label> <label class="label-sign"></label>
<Form-item class="search-item" label="项目名称:"> <Form-item class="search-item" label="项目名称:">
<Input v-model="formObj.projectName" name="projectName" placeholder="请输入项目名称" clearable @on-enter="_formSearch"/> <Input v-model="formObj.projectName" @on-enter="_formSearch" name="projectName" placeholder="请输入项目名称" clearable/>
</Form-item> </Form-item>
<Form-item class="search-btn"> <Form-item class="search-btn">
<Button type="primary" @click="_formSearch">搜索</Button> <Button @click="_formSearch" type="primary">搜索</Button>
</Form-item> </Form-item>
</Form> </Form>
</Col> </Col>
<!--操作--> <!--操作-->
<Col span="24"> <Col span="24">
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" class="contHide" <btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" @on-result-change="_btnClick"
@on-result-change="_btnClick"></btn-list> class="contHide"></btn-list>
</Col> </Col>
<!--表格--> <!--表格-->
<Col span="24"> <Col span="24">
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</div> </div>
<keep-alive> <keep-alive>
<!-- eslint-disable-next-line vue/require-component-is --> <!-- eslint-disable-next-line vue/require-component-is -->
<component :is="currentComponent" ref="refModal" @on-result-change="_componentResult"></component> <component ref="refModal" :is="currentComponent" @on-result-change="_componentResult"></component>
</keep-alive> </keep-alive>
</div> </div>
</template> </template>
...@@ -72,6 +72,11 @@ export default { ...@@ -72,6 +72,11 @@ export default {
], ],
iconMsg: [ iconMsg: [
{ {
type: 'ios-redo',
id: '',
name: '出库撤销'
},
{
type: 'ios-list', type: 'ios-list',
id: '', id: '',
name: '查看' name: '查看'
...@@ -145,6 +150,9 @@ export default { ...@@ -145,6 +150,9 @@ export default {
case '编辑': case '编辑':
this._editModal(true, data.id) this._editModal(true, data.id)
break break
case '出库撤销':
this._outBack(data.id)
break
case '查看': case '查看':
this._viewModal(true, data.id) this._viewModal(true, data.id)
break break
...@@ -172,6 +180,13 @@ export default { ...@@ -172,6 +180,13 @@ export default {
} }
}) })
}, },
_outBack: async function(id) {
const result = await soilSample.outStorageBack({ ids: id })
if (result) {
this.$Message.success('退回成功')
this._page()
}
},
_viewModal(edit, id) { _viewModal(edit, id) {
this.currentComponent = 'ViewDetail' this.currentComponent = 'ViewDetail'
if (edit) { if (edit) {
......
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
<Date-picker v-model="formObj.outStock" @on-change="_ctimeChange" type="date" split-panels style="width:100%;" <Date-picker v-model="formObj.outStock" @on-change="_ctimeChange" type="date" split-panels style="width:100%;"
placeholder="请选择出库时间" name="outStock"></Date-picker> placeholder="请选择出库时间" name="outStock"></Date-picker>
</Form-item> </Form-item>
<Form-item label="出库去向" prop="outGo" style="width: 100%;">
<Input v-model="formObj.outGo" name="outGo" placeholder="出库去向"/>
</Form-item>
<Form-item label="委托编号" prop="entrustCode" style="width: 100%;">
<Input v-model="formObj.entrustCode" name="entrustCode" placeholder="委托编号"/>
</Form-item>
<!-- <Form-item label="留存有效期:" prop="keepLimitTime">--> <!-- <Form-item label="留存有效期:" prop="keepLimitTime">-->
<!-- <Date-picker v-model="formObj.keepLimitTime" @on-change="_keepLimitTimeChange" type="date" split-panels style="width:100%;"--> <!-- <Date-picker v-model="formObj.keepLimitTime" @on-change="_keepLimitTimeChange" type="date" split-panels style="width:100%;"-->
<!-- placeholder="请选择入库时间" name="keepLimitTime"></Date-picker>--> <!-- placeholder="请选择入库时间" name="keepLimitTime"></Date-picker>-->
...@@ -197,7 +203,6 @@ export default { ...@@ -197,7 +203,6 @@ export default {
const data = this.$serialize('edit-form') const data = this.$serialize('edit-form')
console.log(data) console.log(data)
data.ids = this.id data.ids = this.id
data.entrustCode = '1564980847'
this._outstockSubmit(data) this._outstockSubmit(data)
} else { } else {
this.$Message.error('表单验证失败!') this.$Message.error('表单验证失败!')
......
...@@ -123,6 +123,10 @@ export default { ...@@ -123,6 +123,10 @@ export default {
{ title: '项目名称', key: 'projectName', width: 120 }, { title: '项目名称', key: 'projectName', width: 120 },
{ title: '项目负责人', key: 'projectLeader', width: 150, detail: true }, { title: '项目负责人', key: 'projectLeader', width: 150, detail: true },
{ title: '钻孔名称', key: 'boreholeName', width: 120 }, { title: '钻孔名称', key: 'boreholeName', width: 120 },
{ title: '深度', key: 'receiveDepth', width: 120 },
{ title: '工程类型', key: 'projectType', width: 120 },
{ title: '项目类型', key: 'itemType', width: 120 },
{ title: '接收状态', key: 'receiveStatus', width: 120 },
{ title: '箱数', key: 'casesNum', width: 120 }, { title: '箱数', key: 'casesNum', width: 120 },
{ title: '登记日期', key: 'registTime', width: 120, date: true } { title: '登记日期', key: 'registTime', width: 120, date: true }
] ]
......
...@@ -28,6 +28,24 @@ ...@@ -28,6 +28,24 @@
<Form-item label="箱数" prop="casesNum" class="width-48"> <Form-item label="箱数" prop="casesNum" class="width-48">
<Input v-model="formObj.casesNum" name="casesNum" placeholder="请输入箱数"/> <Input v-model="formObj.casesNum" name="casesNum" placeholder="请输入箱数"/>
</Form-item> </Form-item>
<Form-item label="工程类型:" class="width-48">
<Select v-model="formObj.projectType" clearable name="projectType" placeholder="请选择工程类型">
<Option v-for="(item,index) in projectArray" :key="index" :value="item.name">{{item.name}}</Option>
</Select>
</Form-item>
<Form-item label="项目类型:" class="width-48">
<Select v-model="formObj.itemType" clearable name="itemType" placeholder="请选择项目类型">
<Option v-for="(item,index) in itemArray" :key="index" :value="item.name">{{item.name}}</Option>
</Select>
</Form-item>
<Form-item label="深度:" class="width-48">
<Input v-model="formObj.receiveDepth" name="receiveDepth" placeholder="请输入深度"/>
</Form-item>
<Form-item label="接收状态:" class="width-48">
<Select v-model="formObj.receiveStatus" clearable name="receiveStatus" placeholder="请选择接收状态">
<Option v-for="(item,index) in receiveArray" :key="index" :value="item.name">{{item.name}}</Option>
</Select>
</Form-item>
<Form-item @click.native="_selectRegisterPerson" label="登记人" prop="registrant" class="width-48"> <Form-item @click.native="_selectRegisterPerson" label="登记人" prop="registrant" class="width-48">
<Input v-model="formObj.registrant" name="registrant" placeholder="请输入登记人"/> <Input v-model="formObj.registrant" name="registrant" placeholder="请输入登记人"/>
</Form-item> </Form-item>
...@@ -86,6 +104,39 @@ export default { ...@@ -86,6 +104,39 @@ export default {
searchOpen: true, searchOpen: true,
testedCityData: [], testedCityData: [],
judgeType: [{ value: 1, name: '是' }, { value: 0, name: '否' }], judgeType: [{ value: 1, name: '是' }, { value: 0, name: '否' }],
projectArray: [
{
name: '开发项目'
},
{
name: '井场项目'
},
{
name: '风电项目'
},
{
name: '其他'
}
],
itemArray: [
{
name: '深孔'
},
{
name: '浅孔'
},
{
name: '路由'
}
],
receiveArray: [
{
name: '已接收'
},
{
name: '待接收'
}
],
iconMsg: [ iconMsg: [
{ {
type: 'md-trash', type: 'md-trash',
......
...@@ -101,6 +101,10 @@ export default { ...@@ -101,6 +101,10 @@ export default {
{ title: '项目名称', key: 'projectName', width: 120 }, { title: '项目名称', key: 'projectName', width: 120 },
{ title: '项目负责人', key: 'projectLeader', width: 150, detail: true }, { title: '项目负责人', key: 'projectLeader', width: 150, detail: true },
{ title: '钻孔名称', key: 'boreholeName', width: 120 }, { title: '钻孔名称', key: 'boreholeName', width: 120 },
{ title: '深度', key: 'receiveDepth', width: 120 },
{ title: '工程类型', key: 'projectType', width: 120 },
{ title: '项目类型', key: 'itemType', width: 120 },
{ title: '接收状态', key: 'receiveStatus', width: 120 },
{ title: '箱数', key: 'casesNum', width: 120 }, { title: '箱数', key: 'casesNum', width: 120 },
{ title: '登记日期', key: 'registTime', width: 120, date: true } { title: '登记日期', key: 'registTime', width: 120, date: true }
] ]
......
...@@ -95,6 +95,11 @@ export default { ...@@ -95,6 +95,11 @@ export default {
type: 'ios-beaker', type: 'ios-beaker',
id: '', id: '',
name: '添加' name: '添加'
},
{
type: 'md-remove-circle',
id: '',
name: '删除'
} }
], ],
contractId: '', // 委托id contractId: '', // 委托id
...@@ -151,6 +156,9 @@ export default { ...@@ -151,6 +156,9 @@ export default {
} }
this.getPage.records.splice(data.index + 1, 0, addData) this.getPage.records.splice(data.index + 1, 0, addData)
}, },
_delete(data) {
this.getPage.records.splice(data.index, 1)
},
_handleRow(data) { _handleRow(data) {
this.currentRow = data.row this.currentRow = data.row
this.currentIndex = data.rowIndex this.currentIndex = data.rowIndex
...@@ -229,16 +237,15 @@ export default { ...@@ -229,16 +237,15 @@ export default {
case '添加': case '添加':
this._add(data) this._add(data)
break break
case '删除':
this._delete(data)
break
case '编辑': case '编辑':
this._editModal(true, data) this._editModal(true, data)
break break
case '复制': case '复制':
this._copy(data) this._copy(data)
break break
case '删除':
console.log(index)
this._deleteById(data.id)
break
} }
}) })
}, },
......
...@@ -119,7 +119,7 @@ export default { ...@@ -119,7 +119,7 @@ export default {
this._hideLoading() this._hideLoading()
this.showEditModal = false this.showEditModal = false
}, },
_open(ids) { _open(id, ids) {
this.formObj.receiveLocation = '' this.formObj.receiveLocation = ''
this.formObj.warehouse = '' this.formObj.warehouse = ''
this.formObj.keepLimitTime = undefined this.formObj.keepLimitTime = undefined
...@@ -127,6 +127,13 @@ export default { ...@@ -127,6 +127,13 @@ export default {
this._getLocation() this._getLocation()
this.ids = ids this.ids = ids
this.showEditModal = true this.showEditModal = true
this._getKeepTime(id)
},
_getKeepTime: async function(id) {
const result = await soilSample.getStayDate({ entrustId: id })
if (result.keepLimitTime) {
this.formObj.keepLimitTime = new Date(result.keepLimitTime)
}
}, },
_getLocation: async function() { _getLocation: async function() {
const result = await soilSample.locationList() const result = await soilSample.locationList()
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
<p slot="header"> {{name}}--管理样品</p> <p slot="header"> {{name}}--管理样品</p>
<div> <div>
<el-tabs v-model="activeName" @tab-click="_changeTabs"> <el-tabs v-model="activeName" @tab-click="_changeTabs">
<el-tab-pane label="待接收样品" name="waitReceive"> <el-tab-pane label="预检等待" name="waitReceive">
<WaitReceive ref="waitReceiveModal" @on-result-change="_search"></WaitReceive> <WaitReceive ref="waitReceiveModal" @on-result-change="_search"></WaitReceive>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="待发放样品" name="waitScan"> <el-tab-pane label="发放检测" name="waitScan">
<WaitScan ref="waitScanModal" @-result-change="_search"></WaitScan> <WaitScan ref="waitScanModal" @-result-change="_search"></WaitScan>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
<Row> <Row>
<!--查询--> <!--查询-->
<Col span="24" style="padding-bottom: 5px"> <Col span="24" style="padding-bottom: 5px">
<Form v-show="searchOpen" id="search-wait" :label-width="100" inline onsubmit="return false"> <Form id="search-wait" v-show="searchOpen" :label-width="100" inline onsubmit="return false">
<label class="label-sign"></label> <label class="label-sign"></label>
<Form-item label="试样编号:" class="search-item"> <Form-item label="试样编号:" class="search-item">
<Input v-model="formObj.sampleCode" name="sampleCode" placeholder="请输入试样编号" clearable @on-enter="_formSearch"></Input> <Input v-model="formObj.sampleCode" @on-enter="_formSearch" name="sampleCode" placeholder="请输入试样编号" clearable></Input>
</Form-item> </Form-item>
<Form-item label="是否有试验项目:" class="search-item"> <Form-item label="是否有试验项目:" class="search-item">
<Select v-model="formObj.haveExp" clearable name="groupId" style="width:150px" placeholder="请选择是否有试验项目"> <Select v-model="formObj.haveExp" clearable name="groupId" style="width:150px" placeholder="请选择是否有试验项目">
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</Select> </Select>
</Form-item> </Form-item>
<Form-item label="试验科室:" class="search-item"> <Form-item label="试验科室:" class="search-item">
<el-select v-model="formObj.groupId" placeholder="请选择" clearable style="width: 100%" @change="_selGroup"> <el-select v-model="formObj.groupId" @change="_selGroup" placeholder="请选择" clearable style="width: 100%">
<el-option <el-option
v-for="(item,index) in groupoptions" v-for="(item,index) in groupoptions"
:key="index" :key="index"
...@@ -29,12 +29,12 @@ ...@@ -29,12 +29,12 @@
<Input v-model="formObj.experimentNames" @on-enter="_formSearch" style="width: 150px;" placeholder="请输入试验项目或试验项目简写" clearable /> <Input v-model="formObj.experimentNames" @on-enter="_formSearch" style="width: 150px;" placeholder="请输入试验项目或试验项目简写" clearable />
</Form-item> </Form-item>
<Form-item class="search-btn" style="margin-left: 10px;"> <Form-item class="search-btn" style="margin-left: 10px;">
<Button type="primary" @click="_formSearch">搜索</Button> <Button @click="_formSearch" type="primary">搜索</Button>
</Form-item> </Form-item>
</Form> </Form>
</Col> </Col>
<Col span="24"> <Col span="24">
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" class="contHide" @on-result-change="_btnClick"> <btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" @on-result-change="_btnClick" class="contHide">
</btn-list> </btn-list>
</Col> </Col>
<Col span="24"> <Col span="24">
...@@ -43,8 +43,8 @@ ...@@ -43,8 +43,8 @@
:table-height="tableHeight" :table-height="tableHeight"
:get-page="getPage" :get-page="getPage"
:icon-msg="iconMsg" :icon-msg="iconMsg"
select-data @on-result-change="_tableResultChange"
@on-result-change="_tableResultChange"> select-data>
<vxe-table-column <vxe-table-column
v-for="item in pageColumns" v-for="item in pageColumns"
:key="item.key" :key="item.key"
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<storageSelect ref="locationModal" @on-result-change="_page()"></storageSelect> <storageSelect ref="locationModal" @on-result-change="_page()"></storageSelect>
<SoilSampleItemManage ref="sampleItemManage" @on-result-change="_page"></SoilSampleItemManage> <SoilSampleItemManage ref="sampleItemManage" @on-result-change="_page"></SoilSampleItemManage>
<KeepAdress ref="keepAdressModal" @on-result-change="_page"></KeepAdress> <KeepAdress ref="keepAdressModal" @on-result-change="_page"></KeepAdress>
<SampleItemSelect ref="sampleItemSelectModal" is-change @on-result-change="_itemImportBack" /> <SampleItemSelect ref="sampleItemSelectModal" @on-result-change="_itemImportBack" is-change />
</div> </div>
</template> </template>
<script> <script>
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
data() { data() {
return { return {
btn: [ btn: [
{ type: 'primary', id: '', name: '收样室收样' }, { type: 'primary', id: '', name: '预检收样' },
{ type: 'primary', id: '', name: '样品留存' }, { type: 'primary', id: '', name: '样品留存' },
{ type: 'primary', id: '', name: '导入试验项目' } { type: 'primary', id: '', name: '导入试验项目' }
], ],
...@@ -291,7 +291,7 @@ export default { ...@@ -291,7 +291,7 @@ export default {
case '复制历史样品检测项目': case '复制历史样品检测项目':
this._copyHisItem() this._copyHisItem()
break break
case '收样室收样': case '预检收样':
this._sampleReceive(this.selectIds) this._sampleReceive(this.selectIds)
break break
case '样品留存': case '样品留存':
...@@ -382,7 +382,7 @@ export default { ...@@ -382,7 +382,7 @@ export default {
this.$Message.warning('请至少选中一条样品数据!') this.$Message.warning('请至少选中一条样品数据!')
} else { } else {
const ids = id.join(',') const ids = id.join(',')
this.$refs.keepAdressModal._open(ids) this.$refs.keepAdressModal._open(this.entrustId, ids)
} }
}, },
// 样品接收 // 样品接收
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<Input v-model="formObj.experimentNames" @on-enter="_formSearch" style="width: 150px;" placeholder="请输入试验项目或试验项目简写" clearable /> <Input v-model="formObj.experimentNames" @on-enter="_formSearch" style="width: 150px;" placeholder="请输入试验项目或试验项目简写" clearable />
</Form-item> </Form-item>
<Form-item class="search-btn" style="margin-left: 10px;"> <Form-item class="search-btn" style="margin-left: 10px;">
<Button type="primary" @click="_formSearch">搜索</Button> <Button @click="_formSearch" type="primary">搜索</Button>
</Form-item> </Form-item>
</Form> </Form>
</Col> </Col>
...@@ -100,6 +100,7 @@ export default { ...@@ -100,6 +100,7 @@ export default {
{ title: '试样编号', key: 'sampleCode', width: 100, fixed: 'left' }, { title: '试样编号', key: 'sampleCode', width: 100, fixed: 'left' },
{ title: '试样深度', key: 'sampleDepth', width: 95 }, { title: '试样深度', key: 'sampleDepth', width: 95 },
{ title: '现场编号', key: 'siteNo', width: 100 }, { title: '现场编号', key: 'siteNo', width: 100 },
{ title: '实验室', key: 'groupNames', width: 100 },
{ title: '试验项目', key: 'experimentNames', width: 225 }, { title: '试验项目', key: 'experimentNames', width: 225 },
{ title: '试验项目简写', key: 'experimentShortNames' }, { title: '试验项目简写', key: 'experimentShortNames' },
{ title: '土质描述', key: 'sampleDescribe', width: 185 }, { title: '土质描述', key: 'sampleDescribe', width: 185 },
...@@ -109,6 +110,7 @@ export default { ...@@ -109,6 +110,7 @@ export default {
type: '', type: '',
contractId: '', // 合同id contractId: '', // 合同id
selectData: [], selectData: [],
expert: false,
currentComponent: '', currentComponent: '',
formObj: { formObj: {
samplingNum: '', samplingNum: '',
...@@ -438,10 +440,22 @@ export default { ...@@ -438,10 +440,22 @@ export default {
} }
}, },
_send() { _send() {
this.expert = false
if (this.selectData.length === 0) { if (this.selectData.length === 0) {
this.$Message.warning('请至少选择一条数据') this.$Message.warning('请至少选择一条数据')
} else { } else {
this._sendToAlone() for (let i = 0; i < this.selectData.length; i++) {
if (this.selectData[i].groupNames !== '高级实验室') {
this.expert = true
}
}
if (this.expert) {
this.$Message.warning('所选样品中有其他试验样品')
// this._sendToAlone()
} else {
// this.$Message.warning('所选样品中没有其他试验样品')
this._sendToAlone()
}
} }
}, },
_sendToAlone() { _sendToAlone() {
......
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