Commit 5139952e by lichengming

修改了送检委托单省市区选择

parent 7867c108
...@@ -9,6 +9,7 @@ export { default as sysForm } from './sys/sys-form' ...@@ -9,6 +9,7 @@ export { default as sysForm } from './sys/sys-form'
export { default as sysTableColumn } from './sys/sys-table-column' export { default as sysTableColumn } from './sys/sys-table-column'
export { default as sysMessage } from './sys/sys-message' export { default as sysMessage } from './sys/sys-message'
export { default as sysOrg } from './sys/sys-org' export { default as sysOrg } from './sys/sys-org'
export { default as sysAddress } from './sys/sys-address'
export { default as lmsMarshalManage } from './lims/lms-marshal-manage' export { default as lmsMarshalManage } from './lims/lms-marshal-manage'
export { default as lmsUserGroup } from './lims/lms-user-group' export { default as lmsUserGroup } from './lims/lms-user-group'
export { default as lmsSupplier } from './lims/lms-supplier' export { default as lmsSupplier } from './lims/lms-supplier'
......
/**
* 组织表相关
*/
import http from '../http'
export default {
page: data => http.post('/base/v1/org/page', data).then(res => res),
add: data => http.post('/base/v1/org/', data).then(res => res)
}
<template>
<div>
<!--<Cascader-->
<!--:data="casData"-->
<!--:load-data="loadData"-->
<!--@on-change="_casChange"-->
<!--placeholder="请选择省、市、区"-->
<!--clearable-->
<!--v-model="value"-->
<!--:name="name"-->
<!--transfer></Cascader>-->
<Cascader
:data="casData"
:load-data="loadData"
@on-change="_casChange"
transfer
change-on-select>
<Input
v-model="value.join(' ')"
@on-change="_clear"
placeholder="请选择省、市、区"
readonly
clearable
/>
</Cascader>
</div>
</template>
<script>
import { meterEntrust } from '../../api'
/**
* 省、市、县 级联选择
*/
export default {
props: {
value: null,
name: null
},
data() {
return {
casData: []
}
},
mounted() {
this._getProvince()
},
methods: {
_getProvince: async function(data) {
// 获取省份
const result = await meterEntrust.getProvince()
console.log(result)
// this.$store.dispatch('SysProvince/getProvince').then(() => {
// const result = this.$store.state.SysProvince.list
const casData = []
for (let i = 0; i < result.length; i++) {
casData.push({
label: result[i].label,
value: result[i].label,
valueName: result[i].value,
children: [],
loading: false
})
}
this.casData = casData
// })
},
loadData: async function(item, callback) {
console.log('请求1市')
console.log('item')
console.log(item)
const val = item.__value
console.log('val')
console.log(val)
item.loading = true
// if (val.indexOf(',') === -1) {
if (val.length <= 1) {
// 不存在逗号
console.log('请求市')
console.log(item.valueName)
const result = await meterEntrust.getCity(item.valueName)
console.log(result)
if (result === undefined) {
alert('123')
}
// this.$store.dispatch('SysCity/getCity', item.valueName).then(() => {
const cityData = []
for (let i = 0; i < result.length; i++) {
cityData.push({
label: result[i].label,
value: result[i].label,
valueName: result[i].value,
children: [],
loading: false
})
}
item.children = cityData
item.loading = false
callback()
// })
} else {
// this.$store.dispatch('SysArea/getArea', item.valueName).then(() => {
// const result = this.$store.state.SysArea.list
console.log('请求区')
const result = await meterEntrust.getArea(item.valueName)
const areaData = []
for (let i = 0; i < result.length; i++) {
areaData.push({
label: result[i].label,
value: result[i].label,
valueName: result[i].value
})
}
item.children = areaData
item.loading = false
callback()
// })
}
},
// 省、市、区都可选
_casChange(value, selectedData) {
const tempData = {
value: value,
selectedData: selectedData
}
switch (selectedData.length) {
case 1:
selectedData[1] = { label: '', value: '' }
selectedData[2] = { label: '', value: '' }
value[1] = ''
value[2] = ''
break
case 2:
selectedData[2] = { label: '', value: '' }
value[2] = ''
break
}
this.$emit('on-result-change', this.name, tempData)
},
// 数据改变(删除数据的时候用)
_clear() {
const tempData = {
value: ['', '', '']
}
this.$emit('on-result-change', this.name, tempData, 'clear')
}
}
}
</script>
<style>
.ivu-cascader-transfer {
z-index: 1160;
}
</style>
...@@ -5,8 +5,13 @@ ...@@ -5,8 +5,13 @@
<div> <div>
<Form id="edit-form" ref="formObj" :model="formObj" :rules="ruleValidate" :label-width="90" inline> <Form id="edit-form" ref="formObj" :model="formObj" :rules="ruleValidate" :label-width="90" inline>
<!-- <Form-item label="委托方是否第一次送检" prop="firsted" class="width-48">-->
<!-- <Input v-model="formObj.firsted" name="firsted" placeholder="委托方是否第一次送检"/>-->
<!-- </Form-item>-->
<Form-item label="委托方是否第一次送检" prop="firsted" class="width-48"> <Form-item label="委托方是否第一次送检" prop="firsted" class="width-48">
<Input v-model="formObj.firsted" name="firsted" placeholder="委托方是否第一次送检"/> <Radio-group v-model="formObj.firsted">
<Radio v-for="item in judgeType" :label="item.value" :key="item.value">{{item.name}}</Radio>
</Radio-group>
</Form-item> </Form-item>
<Form-item label="委托单位" prop="client" class="width-48"> <Form-item label="委托单位" prop="client" class="width-48">
<Input v-model="formObj.client" name="client" placeholder="请输入委托单位"/> <Input v-model="formObj.client" name="client" placeholder="请输入委托单位"/>
...@@ -21,8 +26,11 @@ ...@@ -21,8 +26,11 @@
<Input v-model="formObj.operation.fax" name="operation.fax" placeholder="请输入委托单位"/> <Input v-model="formObj.operation.fax" name="operation.fax" placeholder="请输入委托单位"/>
</Form-item> </Form-item>
<Form-item label="省、市、区" prop="name" class="width-48"> <Form-item label="省、市、区" prop="name" class="width-48">
<Input v-model="formObj.client" name="name" placeholder="请输入委托单位"/> <!-- <Input v-model="formObj.client" name="name" placeholder="请输入委托单位"/>-->
<CityNameCascader :value="testedCityData" @on-result-change="_cascaderResult" name="tested">
</CityNameCascader>
</Form-item> </Form-item>
<Form-item label="街道" prop="street" class="width-48"> <Form-item label="街道" prop="street" class="width-48">
<Input v-model="formObj.street" name="street" placeholder="请输入委托单位"/> <Input v-model="formObj.street" name="street" placeholder="请输入委托单位"/>
</Form-item> </Form-item>
...@@ -47,7 +55,7 @@ ...@@ -47,7 +55,7 @@
<Col span="24"> <Col span="24">
<!-- <btn-list :msg="btn" :open="searchOpen" :showSearchBtn="false" @on-result-change="_btnClick"--> <!-- <btn-list :msg="btn" :open="searchOpen" :showSearchBtn="false" @on-result-change="_btnClick"-->
<!-- class="contHide"></btn-list>--> <!-- class="contHide"></btn-list>-->
<Button type="success" @click="_add()">添加</Button> <Button @click="_add()" type="success">添加</Button>
</Col> </Col>
<Col span="24"> <Col span="24">
<PTVXETable <PTVXETable
...@@ -69,7 +77,7 @@ ...@@ -69,7 +77,7 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="item.key==='name'" @click.stop="_handleRow(scope)"> <div v-if="item.key==='name'" @click.stop="_handleRow(scope)">
<el-input v-model="scope.row.name" blur placeholder="请输入或选择样品名称" @click.native="_selectAptitude(scope.$index)" <el-input v-model="scope.row.name" @click.native="_selectAptitude(scope.$index)" blur placeholder="请输入或选择样品名称"
></el-input> ></el-input>
</div> </div>
<div v-if="item.key==='spec'" @click.stop="_handleRow(scope)"> <div v-if="item.key==='spec'" @click.stop="_handleRow(scope)">
...@@ -94,9 +102,9 @@ ...@@ -94,9 +102,9 @@
<!-- ></el-input>--> <!-- ></el-input>-->
<el-input <el-input
v-model="scope.row.quantity" v-model="scope.row.quantity"
@keydown.native="channelInputLimit"
type="number" type="number"
placeholder="请输入或选择数量" placeholder="请输入或选择数量"
@keydown.native="channelInputLimit"
/> />
</div> </div>
</template> </template>
...@@ -115,15 +123,19 @@ ...@@ -115,15 +123,19 @@
* 添加编辑分包商 * 添加编辑分包商
*/ */
import { lmsBaseDict, meterEntrust } from '../../../api' import { lmsBaseDict, meterEntrust } from '../../../api'
import CityNameCascader from '../../../components/base/CityNameCascader'
export default { export default {
components: {}, components: { CityNameCascader },
data() { data() {
return { return {
formId: 'meterSendTestEditFormId', formId: 'meterSendTestEditFormId',
getPage: { getPage: {
records: [] records: []
}, },
cityData: [],
testedCityData: [],
judgeType: [{ value: 1, name: '是' }, { value: 0, name: '否' }],
iconMsg: [ iconMsg: [
{ type: 'ios-clock', id: '', name: '编辑' }, { type: 'ios-clock', id: '', name: '编辑' },
{ type: 'ios-clock', id: '', name: '删除' } { type: 'ios-clock', id: '', name: '删除' }
...@@ -151,6 +163,7 @@ export default { ...@@ -151,6 +163,7 @@ export default {
modalTitle: '', modalTitle: '',
subcontractorId: '', subcontractorId: '',
formObj: { formObj: {
firsted: 1,
client: '', client: '',
linkman: '', linkman: '',
tel: '', tel: '',
...@@ -173,6 +186,16 @@ export default { ...@@ -173,6 +186,16 @@ export default {
fee: '' fee: ''
} }
}, },
testedTemp: {
testedName: '',
testedContactor: '',
testedContactorTel: '',
testedTel: '',
testedProvince: '',
testedCity: '',
testedCounty: '',
testedStreet: ''
},
ruleValidate: { ruleValidate: {
client: [ client: [
{ required: true, message: '委托单位不能为空', trigger: 'blur' } { required: true, message: '委托单位不能为空', trigger: 'blur' }
...@@ -188,6 +211,13 @@ export default { ...@@ -188,6 +211,13 @@ export default {
aptitudeData: [] aptitudeData: []
} }
}, },
created() {
this.$set(
this.formObj,
'tested',
JSON.parse(JSON.stringify(this.testedTemp))
)
},
methods: { methods: {
_add() { _add() {
const data = { const data = {
...@@ -215,6 +245,39 @@ export default { ...@@ -215,6 +245,39 @@ export default {
// break // break
} }
}, },
// 省 市 区
_cascaderResult(name, data, msg) {
switch (name) {
case 'cus':
this._casChange(data, msg)
break
case 'tested':
this._testedChange(data, msg)
break
}
},
_emptyProvince() {
this.cityData = []
this.testedCityData = []
this.formObj.tested.testedProvince = ''
this.formObj.tested.testedCity = ''
this.formObj.tested.testedCounty = ''
},
_testedChange(data, msg) {
// 省、市、区
if (msg === 'clear') {
this.formObj.tested.testedProvince = ''
this.formObj.tested.testedCity = ''
this.formObj.tested.testedCounty = ''
this.testedCityData = []
} else {
this.formObj.tested.testedProvince = data.value[0]
this.formObj.tested.testedCity = data.value[1]
this.formObj.tested.testedCounty = data.value[2]
this.testedCityData = [data.value[0], data.value[1], data.value[2]]
}
},
_iconClick(res, data, index) { _iconClick(res, data, index) {
switch (res) { switch (res) {
case '编辑': case '编辑':
...@@ -315,6 +378,7 @@ export default { ...@@ -315,6 +378,7 @@ export default {
_open(formObj) { _open(formObj) {
this.showModal = true this.showModal = true
this.$refs.formObj.resetFields() this.$refs.formObj.resetFields()
this._emptyProvince()
this._hideLoading() this._hideLoading()
this._getAptitudeList() this._getAptitudeList()
if (this.$string(formObj).isEmpty()) { if (this.$string(formObj).isEmpty()) {
......
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