Commit 6b56c711 by lichengming

Merge branch 'dev' of http://git.patzn.com/root/patzn-cloud-service-metr-web into dev

 Conflicts:
	pages/meter-certificate/issue/MeterCertificateIssue.vue
parents d6ee53f7 33aaee24
......@@ -8,6 +8,8 @@ import { https } from '../https'
export default {
// page
page: data => http.post('meter/v1/sub_contract/page', data).then(res => res),
pageSubmit: data =>
http.post('meter/v1/sub_contract/page_have_submit', data).then(res => res),
getById: data => http.get('meter/v1/sub_contract/' + data).then(res => res),
getDTOById: data =>
http.get('meter/v1/sub_contract/dto/' + data).then(res => res),
......@@ -16,6 +18,8 @@ export default {
http.delete('meter/v1/sub_contract/?ids=' + data).then(res => res),
// 保存
save: data => http.post('meter/v1/sub_contract/', data).then(res => res),
submit: data =>
http.post('meter/v1/sub_contract/submit?ids=' + data).then(res => res),
addSubContract: data =>
https
.post('meter/v1/sub_contract/add_sub_contract', JSON.stringify(data))
......
......@@ -95,8 +95,7 @@ export default {
btn: [
{ type: 'success', id: '', name: '添加' },
{ type: 'error', id: '', name: '删除' },
{ type: '', id: '', name: '导入' },
{ type: '', id: '', name: '导出' }
{ type: '', id: '', name: '导入' }
],
iconMsg: [
{ type: 'md-create', id: '', name: '编辑' },
......
......@@ -199,16 +199,28 @@ export default {
this.$Modal.confirm({
title: '提示',
content: '确定要把这 ' + ids.length + ' 条记录提交到' + cont + '?',
onOk: async () => {
const result = meterSample.submitReportToIssue(ids)
if (result) {
this.$Message.success('提交成功!')
await this._page()
}
// onOk: async () => {
// const result = meterSample.submitReportToIssue(ids)
// if (result) {
// this.$Message.success('提交成功!')
// await this._page()
// }
// }
onOk: () => {
this._subTo(ids)
}
})
}
},
_subTo: async function(ids) {
const result = await meterSample.submitReportToIssue(ids)
if (result) {
this.$Message.success('提交成功!')
await this._page()
}
},
_create() {
const selectData = JSON.parse(JSON.stringify(this.selectData))
console.log(selectData)
......@@ -225,7 +237,7 @@ export default {
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('该检测项目暂无原始记录!')
this.$Message.warning('证书暂未编制!')
} else {
this.$refs.itemOriginalRecordLookModal._open(
data.recordId,
......@@ -243,7 +255,7 @@ export default {
this._personModal(data)
break
case '查看证书':
this._itemOriginalRecordLook(data, 'only')
this._itemOriginalRecordLook(data, 'write')
break
case '资质项目':
this._itemModal(data.id)
......
......@@ -59,6 +59,10 @@
<operationModal ref="operationModal"></operationModal>
<FileManage ref="FileManage"></FileManage>
<Reason ref="reasonModal" @on-result-change="_reasonResult"></Reason>
<!--编辑证书-->
<CertificateMakeLook ref="itemOriginalRecordLookModal" @on-result-change="_resultRecord"></CertificateMakeLook>
</div>
</template>
......@@ -66,8 +70,9 @@
import { meterSample } from '../../../api'
import Reason from '../../../components/base/Reason'
import operationModal from '../../../components/operation/Operation'
import CertificateMakeLook from '../../meter-certificate/CertificateMakeLook'
export default {
components: { operationModal, Reason },
components: { operationModal, Reason, CertificateMakeLook },
data() {
return {
currentComponent: '',
......@@ -89,12 +94,7 @@ export default {
{
type: 'ios-book',
id: '',
name: '预览'
},
{
type: 'ios-list-box',
id: '',
name: '仪器领用'
name: '查看证书'
},
{ type: 'md-cloud', id: '', name: '附件' }
],
......@@ -226,6 +226,9 @@ export default {
case '附件':
this._upload(data.id)
break
case '查看证书':
this._itemOriginalRecordLook(data, 'write')
break
case '删除':
this._deleteByIds([data.id])
break
......@@ -235,6 +238,21 @@ export default {
}
})
},
_itemOriginalRecordLook(data, name) {
if (
data.recordId === null ||
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('证书暂未编制!')
} else {
this.$refs.itemOriginalRecordLookModal._open(
data.recordId,
name,
data.id
)
}
},
_personModal(data) {
this._previewEdit(data.id)
},
......
......@@ -91,11 +91,11 @@ export default {
formId: 'meterSubcontractorFormId',
searchOpen: false,
btn: [
{
type: 'success',
id: '',
name: '生成'
},
// {
// type: 'success',
// id: '',
// name: '生成'
// },
{
type: 'success',
id: '',
......@@ -137,7 +137,7 @@ export default {
{ title: '样品名称', key: 'name', width: 120 },
{ title: '样品编号', key: 'code', width: 120 },
{ title: '型号规格', key: 'spec', width: 100 },
{ title: '证书是否生成', key: 'reported', width: 120 },
{ title: '证书是否编制', key: 'onlineReported', width: 120 },
{ title: '出厂编号', key: 'factoryNumber' },
{ title: '检测类型', key: 'type' },
{ title: '委托单位', key: 'client', width: 200 },
......@@ -232,7 +232,7 @@ export default {
this.$Message.warning('请至少选择一条数据!')
} else {
for (let i = 0; i < this.selectData.length; i++) {
if (this.selectData[i].reported === '否') {
if (this.selectData[i].onlineReported === '否') {
this.$Message.warning(
'您选择的样品编号为' +
this.selectData[i].code +
......@@ -310,7 +310,7 @@ export default {
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('该检测项目暂无原始记录!')
this.$Message.warning('证书暂未编制!')
} else {
this.$refs.itemOriginalRecordLookModal._open(
data.recordId,
......
......@@ -58,14 +58,18 @@
</div>
<operationModal ref="operationModal"></operationModal>
<FileManage ref="FileManage"></FileManage>
<!--编辑证书-->
<CertificateMakeLook ref="itemOriginalRecordLookModal" @on-result-change="_resultRecord"></CertificateMakeLook>
</div>
</template>
<script>
import { meterSample } from '../../../api'
import operationModal from '../../../components/operation/Operation'
import CertificateMakeLook from '../../meter-certificate/CertificateMakeLook'
export default {
components: { operationModal },
components: { operationModal, CertificateMakeLook },
data() {
return {
currentComponent: '',
......@@ -82,12 +86,7 @@ export default {
{
type: 'ios-book',
id: '',
name: '预览'
},
{
type: 'ios-list-box',
id: '',
name: '仪器领用'
name: '查看证书'
},
{ type: 'md-cloud', id: '', name: '附件' }
],
......@@ -194,6 +193,9 @@ export default {
case '附件':
this._upload(data.id)
break
case '查看证书':
this._itemOriginalRecordLook(data, 'write')
break
case '删除':
this._deleteByIds([data.id])
break
......@@ -282,6 +284,21 @@ export default {
// 上传文件
this.$refs.FileManage._open(id, 'subcontractorId')
},
_itemOriginalRecordLook(data, name) {
if (
data.recordId === null ||
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('证书暂未编制!')
} else {
this.$refs.itemOriginalRecordLookModal._open(
data.recordId,
name,
data.id
)
}
},
_getById: async function(id) {
const result = await meterSample.getById(id)
if (result) {
......
......@@ -211,7 +211,7 @@ export default {
title: '提示',
content: '确定导出委托单?',
onOk: () => {
http.open('/meter/v1/entrust/export_send_entrust/?id=' + id)
http.open('/meter/v1/entrust/export_out_entrust/?id=' + id)
}
})
},
......
......@@ -10,8 +10,8 @@
</Radio-group>
</Form-item>
<Form-item label="委托单位" prop="client" class="width-48">
<AutoComplete :value="formObj.client" :down-data="customerData" @on-result-change="_cusNameChange"
name="client" placeholder="请输入或选择委托单位"
<AutoComplete :value="formObj.client" :down-data="customerData" name="client"
placeholder="请输入或选择委托单位" @on-result-change="_cusNameChange"
></AutoComplete>
</Form-item>
<Form-item label="联系人" prop="operation.person" class="width-48">
......@@ -24,7 +24,7 @@
<Input v-model="formObj.operation.fax" name="operation.fax" placeholder="请输入传真"/>
</Form-item>
<Form-item label="省、市、区" prop="testedCityData" class="width-48">
<CityNameCascader v-model="testedCityData" @on-result-change="_cascaderResult" name="tested">
<CityNameCascader v-model="testedCityData" name="tested" @on-result-change="_cascaderResult">
</CityNameCascader>
</Form-item>
<Form-item label="街道" prop="street" class="width-48">
......@@ -38,15 +38,15 @@
<Input v-model="formObj.operation.email" name="operation.email" placeholder="请输入E-mail"/>
</Form-item>
<Form-item label="委托日期:" prop="edate" class="width-48">
<Date-picker v-model="formObj.edate" @on-change="_ctimeChange" type="date" split-panels style="width:100%;"
placeholder="请选择委托日期"></Date-picker>
<Date-picker v-model="formObj.edate" type="date" split-panels style="width:100%;" placeholder="请选择委托日期"
@on-change="_ctimeChange"></Date-picker>
</Form-item>
<Form-item label="委托费用:" prop="operation.fee" class="width-48">
<Input @keydown.native="channelInputLimit" v-model="formObj.operation.fee" type="number" name="operation.fee" placeholder="请输入委托费用"/>
<Input v-model="formObj.operation.fee" type="number" name="operation.fee" placeholder="请输入委托费用" @keydown.native="channelInputLimit"/>
</Form-item>
<Form-item label="要求完成日期:" prop="odate" class="width-48">
<Date-picker v-model="formObj.odate" @on-change="_odateChange" type="date" split-panels style="width:100%;"
placeholder="请选择要求完成"></Date-picker>
<Date-picker v-model="formObj.odate" type="date" split-panels style="width:100%;" placeholder="请选择要求完成"
@on-change="_odateChange"></Date-picker>
</Form-item>
<Form-item label="合同号:" prop="contractCode" class="width-48">
<Input v-model="formObj.contractCode" name="contractCode" placeholder="请输入合同号"/>
......@@ -59,8 +59,8 @@
<Col span="24">
<!-- <btn-list :msg="btn" :open="searchOpen" :showSearchBtn="false" @on-result-change="_btnClick"-->
<!-- class="contHide"></btn-list>-->
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="false" @on-result-change="_btnClick"
class="contHide"></btn-list>
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="false" class="contHide"
@on-result-change="_btnClick"></btn-list>
<!-- <Button @click="_add()" type="success">添加</Button>-->
</Col>
<Col span="24">
......@@ -83,15 +83,27 @@
>
<template slot-scope="scope">
<div v-if="item.key==='name'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.name" @on-result-change="_judgeBasisChange" @click.native="_selectjudgeBasis(scope.$rowIndex)" blur placeholder="请输入或选择样品名称"
<el-input v-model="scope.row.name" blur placeholder="请输入或选择样品名称" @on-result-change="_judgeBasisChange" @click.native="_selectjudgeBasis(scope.$rowIndex)"
></el-input>
</div>
<div v-if="item.key==='spec'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.spec" blur placeholder="请输入或选择型号规格"
<el-input v-model="scope.row.spec" blur placeholder="请输入型号规格"
></el-input>
</div>
<div v-if="item.key==='factoryNumber'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.factoryNumber" blur placeholder="请输入或选择出厂编号"
<el-input v-model="scope.row.factoryNumber" blur placeholder="请输入出厂编号"
></el-input>
</div>
<div v-if="item.key==='verification'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.verification" blur placeholder="请输入或选择检定(校准)依据"
></el-input>
</div>
<div v-if="item.key==='manufacturer'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.manufacturer" blur placeholder="请输入制造单位"
></el-input>
</div>
<div v-if="item.key==='remark'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.remark" blur placeholder="请输入备注"
></el-input>
</div>
<div v-if="item.key==='type'" @click.stop="_handleRow(scope)">
......@@ -104,11 +116,37 @@
<div v-if="item.key==='quantity'" @click.stop="_handleRow(scope)">
<el-input
v-model="scope.row.quantity"
type="number"
placeholder="请输入数量"
@keydown.native="channelInputLimit"
/>
</div>
<div v-if="item.key==='testFee'" @click.stop="_handleRow(scope)">
<el-input
v-model="scope.row.testFee"
type="number"
placeholder="请输入检定/校准费"
@keydown.native="channelInputLimit"
/>
</div>
<div v-if="item.key==='repairFee'" @click.stop="_handleRow(scope)">
<el-input
v-model="scope.row.repairFee"
type="number"
placeholder="请输入调修费"
@keydown.native="channelInputLimit"
/>
</div>
<div v-if="item.key==='elseFee'" @click.stop="_handleRow(scope)">
<el-input
v-model="scope.row.elseFee"
type="number"
placeholder="请输入或选择数量"
placeholder="请输入其他费用"
@keydown.native="channelInputLimit"
/>
</div>
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
</PTVXETable>
......@@ -117,8 +155,8 @@
<div slot="footer">
<modal-footer ref="footerModal" :footer="footerList" @on-result-change="_footerResult"></modal-footer>
</div>
<EditModal ref="EditModal" @on-result-change="_backData" is-change />
<importModal ref="importModal" @on-result-change="_inputBack" aptitude-item></importModal>
<EditModal ref="EditModal" is-change @on-result-change="_backData" />
<importModal ref="importModal" aptitude-item @on-result-change="_inputBack"></importModal>
</Modal>
</div>
</template>
......@@ -188,8 +226,9 @@ export default {
{ title: '制造单位', key: 'manufacturer' },
{ title: '检测类型', key: 'type' },
{ title: '数量', key: 'quantity' },
{ title: '单价', key: 'price' },
{ title: '总价', key: 'totalPrice' },
{ title: '检定/校准费', key: 'testFee' },
{ title: '调修费', key: 'repairFee' },
{ title: '其他费用', key: 'elseFee' },
{ title: '备注', key: 'remark' }
],
btn: [
......@@ -328,8 +367,8 @@ export default {
methods: {
_importSample() {
const data = {
importUrl: '/meter/v1/sample/import_sample_pre',
downloadUrl: '/meter/v1/excel/template/MeterSampleImport',
importUrl: '/meter/v1/sample/import_send_sample_pre',
downloadUrl: '/meter/v1/excel/template/MeterSendSampleImport',
title: '导入'
}
this.$refs.importModal._open(data, '样品导入')
......@@ -396,12 +435,9 @@ export default {
console.log(typeof this.index)
this.getPage.records[this.index].name = data.name
this.getPage.records[this.index].aptitudeId = data.id
console.log('返回的数据')
console.log(data)
console.log(this.getPage.records)
this.getPage.records[this.index].verification = data.code + data.basis
},
_selectjudgeBasis(index) {
console.log(index)
this.index = index
this.$refs.EditModal._open()
},
......@@ -469,7 +505,6 @@ export default {
switch (msg) {
case 'select':
this.formObj.stdId = data.id
this.formObj.code = data.stdNum
this.formObj.name = data.name
this.$refs.formObj.validateField('code')
break
......
......@@ -355,7 +355,7 @@ export default {
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('该检测项目暂无原始记录!')
this.$Message.warning('证书暂未编制!')
} else {
console.log('Original')
this.$refs.itemOriginalRecordLookModal._open(
......
......@@ -325,7 +325,7 @@ export default {
undefined === data.recordId ||
data.recordId === ''
) {
this.$Message.warning('该检测项目暂无原始记录!')
this.$Message.warning('证书暂未编制!')
} else {
this.$refs.itemOriginalRecordLookModal._open(
data.recordId,
......
......@@ -48,11 +48,7 @@
</div>
</template>
<script>
import {
meterContract,
meterSubContract,
meterSubcontractor
} from '../../../api'
import { meterSubContract, meterSubcontractor } from '../../../api'
import MeterSubcontractorEdit from './MeterCannotSubEdit'
export default {
components: { MeterSubcontractorEdit },
......@@ -79,18 +75,8 @@ export default {
id: '',
name: '编辑'
},
{
type: 'ios-beaker',
id: '',
name: '报价样品'
},
{ type: 'md-cloud', id: '', name: '附件' },
{ type: 'md-remove-circle', id: '', name: '删除' },
{
type: 'ios-clock',
id: '',
name: '操作日志'
}
{ type: 'md-remove-circle', id: '', name: '删除' }
],
formObj: {
client: undefined
......@@ -183,7 +169,7 @@ export default {
}
},
_submit: async function(ids) {
const result = await meterContract.submitQuoteFirstReview(ids)
const result = await meterSubContract.submit(ids)
if (result) {
this._resultChange('提交成功')
}
......
......@@ -20,12 +20,12 @@
<Col span="24">
<btn-list :msg="btn" :open="searchOpen" :show-search-btn="true" class="contHide"
@on-result-change="_btnClick"></btn-list>
@on-result-change="_btnClick"></btn-list>
</Col>
<!--表格-->
<Col span="24">
<PTVXETable ref="pageTable" :table-height="tableHeight" :form-id="formId" :loading="true"
:get-page="getPage" :icon-msg="iconMsg" hide-checkbox @on-result-change="_tableResultChange">
:get-page="getPage" :icon-msg="iconMsg" @on-result-change="_tableResultChange">
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
......@@ -34,7 +34,7 @@
:min-width="item.width?item.width:200"
:fixed="item.fixed?item.fixed:undefined" sortable>
<template slot-scope="scope">
<div v-if="item.date">{{scope.row[item.key]?$dateformat(scope.row[item.key],'yyyy-mm-dd'):''}}</div>
<span v-if="item.date">{{scope.row[item.key]?$dateformat(scope.row[item.key],'yyyy-mm-dd'):''}}</span>
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
......@@ -43,37 +43,33 @@
</Row>
</div>
</div>
<FileManage ref="FileManage"></FileManage>
<MeterSubcontractorEdit ref="editSubcontractorModal" @on-result-change="_formSearch"></MeterSubcontractorEdit>
</div>
</template>
<script>
import { meterContract, meterSubcontractor } from '../../../api'
import { meterSubContract, meterSubcontractor } from '../../../api'
import MeterSubcontractorEdit from './MeterCannotSubEdit'
export default {
components: {},
components: { MeterSubcontractorEdit },
data() {
return {
currentComponent: '',
formId: 'meterQuoteRegisterHis.vueFormId',
formId: 'meterSubcontractorFormId',
searchOpen: true,
btn: [
// {
// type: 'success',
// id: 'meter-subcontractor-add-btn',
// id: '',
// name: '添加'
// },
// {
// type: 'success',
// id: '',
// name: '提交'
// }
],
iconMsg: [
{
type: 'ios-beaker',
id: '',
name: '报检样品查询'
},
{ type: 'md-cloud', id: '', name: '附件' },
{
type: 'ios-clock',
id: '',
name: '操作日志'
}
],
iconMsg: [{ type: 'md-cloud', id: '', name: '附件' }],
formObj: {
client: undefined
},
......@@ -81,13 +77,13 @@ export default {
getPage: {},
pageColumns: [
{ title: '委托单位', key: 'client', width: 200 },
{ title: '联系人', key: 'person', width: 120 },
{ title: '联系电话', key: 'tel', width: 120 },
{ title: '传真', key: 'fax', width: 120 },
{ title: '委托时间', key: 'edate', width: 120, date: true },
{ title: '要求完成时间', key: 'odate', width: 120, date: true },
{ title: '折扣', key: 'discount', width: 120 },
{ title: '总价', key: 'totalPrice', width: 120 },
{ title: '折扣价', key: 'discountPrice', width: 120 },
{ title: '分包方', key: 'subClient', width: 120 },
{ title: '分包方联系人', key: 'subPerson', width: 120 },
{ title: '分包方联系方式', key: 'subTel', width: 120 },
{ title: '分包费用', key: 'subFee', width: 120 },
{ title: '分包时间', key: 'subTime', width: 120, date: true },
{ title: '备注', key: 'remark' }
]
}
......@@ -105,6 +101,10 @@ export default {
this._page()
},
methods: {
_manageSample(data) {
// 管理样品
this.$refs.meterSampleManageModal._open(data)
},
_btnClick(msg, componentName) {
this.currentComponent = componentName
this.$nextTick(function() {
......@@ -112,6 +112,9 @@ export default {
case '添加':
this._editModal(false)
break
case '提交':
this._submitToReview()
break
case 'search':
this.searchOpen = !this.searchOpen
break
......@@ -119,12 +122,16 @@ export default {
})
},
_iconClick(res, data, componentName) {
this.currentComponent = componentName
this.$nextTick(function() {
switch (res) {
case '编辑':
this._editModal(true, data.id)
break
case '报检样品查询':
case '报价样品':
this._manageSample(data.id)
break
case '资质项目':
this._itemModal(data.id)
break
case '附件':
......@@ -139,11 +146,38 @@ export default {
}
})
},
_submitToReview() {
const ids = this.selectIds
if (ids.length === 0) {
this.$Message.warning('请至少选择一条数据!')
} else {
this.$Modal.confirm({
title: '提示',
content: '确定要把这 ' + ids.length + ' 条记录提交?',
onOk: () => {
this._submit(ids)
}
})
}
},
_submit: async function(ids) {
const result = await meterSubContract.submit(ids)
if (result) {
this._resultChange('提交成功')
}
},
_resultChange(msg) {
this.$Message.success(msg)
this._page()
},
_record(id) {
this.$refs.meterContractRecordModal._open(id)
this.$refs.operationModal._open(id)
},
_tableResultChange(msg, data) {
switch (msg) {
case 'selectIds':
this.selectIds = data
break
case 'iconClick':
this._iconClick(data.name, data.rowData, data.componentName)
break
......@@ -154,8 +188,7 @@ export default {
},
_page: async function() {
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
console.log('this.formObj', this.formObj)
const result = await meterContract.pageHis(this.formObj)
const result = await meterSubContract.pageSubmit(this.formObj)
if (result) {
this.$refs.pageTable._hideLoading()
this.getPage = result
......@@ -185,18 +218,19 @@ export default {
this.$refs.editSubcontractorModal._open()
}
},
// 追加项目
_itemModal(data) {
this.$refs.meterSampleQuoteManageModal._open(data)
this.$refs.refModal._open(data)
},
_upload(id) {
// 上传文件
this.$refs.refModal._open(id, 'subcontractorId')
this.$refs.FileManage._open(id, 'subcontractorId')
},
_getById: async function(id) {
const result = await meterSubcontractor.getById(id)
const result = await meterSubContract.getDTOById(id)
if (result) {
this.$refs.editSubcontractorModal._open(result)
this.$refs.editSubcontractorModal._openEdit(result)
}
},
_delete: async function(ids) {
......
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