|
@@ -5,7 +5,20 @@
|
|
|
<a-row>
|
|
|
<a-col :span="24">
|
|
|
<a-form-model-item label="检定设备" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentids">
|
|
|
- <j-search-select-tag v-model="model.equipmentids" dict="tpm_equipment,equipmentname,id" placeholder="请选择检定设备" mode="multiple"/>
|
|
|
+ <!-- <j-search-select-tag v-model="model.equipmentids" dict="tpm_equipment,equipmentname,id" placeholder="请选择检定设备" mode="multiple"/> -->
|
|
|
+ <a-select
|
|
|
+ v-model="model.equipmentids"
|
|
|
+ placeholder="请输入设备名称或设备编号"
|
|
|
+ show-search
|
|
|
+ mode="multiple"
|
|
|
+ :filterOption="filterOptions"
|
|
|
+ @search="searchDevice"
|
|
|
+ allowClear>
|
|
|
+ <a-select-option v-for="(item, index) in deviceOptions" :key="index" :value="item.id" :label="item.equipmentname">
|
|
|
+ <span>{{item.equipmentname}}</span>
|
|
|
+ <span style="position: absolute;right: 6%;">{{ item.equipmentcode }}</span>
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
<a-col :span="24">
|
|
@@ -72,7 +85,9 @@
|
|
|
add: "/cmmsSubmission/cmmsSubmission/add",
|
|
|
edit: "/cmmsSubmission/cmmsSubmission/edit",
|
|
|
queryById: "/cmmsSubmission/cmmsSubmission/queryById"
|
|
|
- }
|
|
|
+ },
|
|
|
+ deviceOptions: [],
|
|
|
+ deviceOptionsAll: [],
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -83,13 +98,58 @@
|
|
|
created () {
|
|
|
//备份model原始值
|
|
|
this.modelDefault = JSON.parse(JSON.stringify(this.model));
|
|
|
+ this.getDeviceOption();
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 获取设备下拉列表
|
|
|
+ getDeviceOption(){
|
|
|
+ getAction(`/tpmEquipment/tpmEquipment/selectEquipmentList`).then(res=>{
|
|
|
+ console.log(111,res.result)
|
|
|
+ this.deviceOptions = res.result.map((res) => {
|
|
|
+ return {
|
|
|
+ id: res.id,
|
|
|
+ equipmentname: res.equipmentname,
|
|
|
+ equipmentcode: res.equipmentcode,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 存一个完整的设备表
|
|
|
+ this.deviceOptionsAll = this.deviceOptions
|
|
|
+ console.log(7878,this.deviceOptionsAll)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 筛选设备
|
|
|
+ searchDevice(value) {
|
|
|
+ console.log(1212,value,value.trim().length)
|
|
|
+ // 若输入的值删除,则重新赋完整的设备列表
|
|
|
+ if (value.trim().length === 0) {
|
|
|
+ this.deviceOptions = this.deviceOptionsAll
|
|
|
+ }
|
|
|
+ // 通过判断字符串中是数字还是文字进而判断是通过设备名筛选还是设备编号筛选
|
|
|
+ let panDuan = isNaN(parseFloat(value))
|
|
|
+ if (!panDuan) {
|
|
|
+ // 数字
|
|
|
+ console.log(777)
|
|
|
+ let filteredArray = this.deviceOptionsAll.filter(item => item.equipmentcode.includes(value));
|
|
|
+ this.deviceOptions = filteredArray
|
|
|
+ } else {
|
|
|
+ console.log(888)
|
|
|
+ let filteredArray = this.deviceOptionsAll.filter(item => item.equipmentname.includes(value));
|
|
|
+ this.deviceOptions = filteredArray
|
|
|
+ }
|
|
|
+ console.log(999,this.deviceOptions)
|
|
|
+ },
|
|
|
+ // 解决筛选后option不回显问题
|
|
|
+ filterOptions(input, option) {
|
|
|
+ return this.deviceOptions
|
|
|
+ },
|
|
|
add () {
|
|
|
this.edit(this.modelDefault);
|
|
|
},
|
|
|
edit (record) {
|
|
|
+ console.log(77,record)
|
|
|
this.model = Object.assign({}, record);
|
|
|
+ this.model.equipmentids = record.equipmentids.split(",")
|
|
|
+ console.log(88,this.model)
|
|
|
this.visible = true;
|
|
|
},
|
|
|
submitForm () {
|
|
@@ -107,6 +167,7 @@
|
|
|
httpurl+=this.url.edit;
|
|
|
method = 'put';
|
|
|
}
|
|
|
+ this.model.equipmentids = this.model.equipmentids.toString()
|
|
|
httpAction(httpurl,this.model,method).then((res)=>{
|
|
|
if(res.success){
|
|
|
that.$message.success(res.message);
|
|
@@ -123,4 +184,10 @@
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
-</script>
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+::v-deep .ant-select-selection--multiple .ant-select-selection__choice{
|
|
|
+ width: 99% !important;
|
|
|
+}
|
|
|
+</style>
|