| | |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="8" |
| | | :sm="6" |
| | | > |
| | | <a-form-item label="ä¸å¿"> |
| | | <!-- <a-input |
| | | placeholder="ä¸å¿" |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | placeholder='è¯·éæ©æå±ä¸å¿' |
| | | dictCode="mom_base_area,name,id,del_flag!='1' and type='1'" |
| | | v-model="queryParam.workCenterId" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="3"> |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | |
| | | :loading="loading" |
| | | @change="handleTableChange" |
| | | > |
| | | <template slot="equipmentPhoto" slot-scope="text,record"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">æ å¾ç</span> |
| | | <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> |
| | | </template> |
| | | <template |
| | | slot="equipmentPhoto" |
| | | slot-scope="text,record" |
| | | > |
| | | <span |
| | | v-if="!text" |
| | | style="font-size: 12px;font-style: italic;" |
| | | >æ å¾ç</span> |
| | | <img |
| | | v-else |
| | | :src="getImgView(text)" |
| | | :preview="record.id" |
| | | height="25px" |
| | | alt="" |
| | | style="max-width:80px;font-size: 12px;font-style: italic;" |
| | | /> |
| | | </template> |
| | | </a-table> |
| | | </a-card> |
| | | </a-modal> |
| | |
| | | key: 'rowIndex', |
| | | width: 50, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'num', |
| | | width:200 |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'name', |
| | | width:200 |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: 'center', |
| | | dataIndex: 'model', |
| | | width:200 |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤è§æ ¼', |
| | | align: 'center', |
| | | dataIndex: 'specification', |
| | | width:200 |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: 'ABCæ è¯', |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | width:100 |
| | | width: 100 |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | width:100 |
| | | width: 100 |
| | | }, |
| | | { |
| | | title: '设å¤ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'equipmentStatus_dictText', |
| | | width:100 |
| | | width: 100 |
| | | }, |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'technologyStatus_dictText', |
| | | width:100 |
| | | width: 100 |
| | | }, |
| | | ], |
| | | selectedRowKeys: [], |
| | |
| | | scrollTrigger: {}, |
| | | dataSource: [], |
| | | selectionRows: [], |
| | | selectionRowsNotClear: [], |
| | | title: 'éæ©è®¾å¤', |
| | | ipagination: { |
| | | current: 1, |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.onSelectChange(selectedRows) |
| | | this.selectionRows = selectedRows |
| | | // debugger |
| | | // this.selectionRowsNotClear.push(selectedRows) |
| | | // this.onSelectChange(selectedRows) |
| | | }, |
| | | onSelect: (record, selected, selectedRows) => { |
| | | if (selected) { |
| | | this.selectionRowsNotClear.push(record); |
| | | } |
| | | if (!selected) { |
| | | let delIndex = this.selectionRowsNotClear.findIndex(val => { |
| | | return val.id === record.id |
| | | }) |
| | | this.selectionRowsNotClear.splice(delIndex, 1); |
| | | } |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | | disabled: record.distable |
| | | } |
| | | }), |
| | | selectedRowKeys: this.selectedRowKeys |
| | | selectedRowKeys: this.selectedRowKeys, |
| | | selectedRows: this.selectionRows |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | |
| | | showModals(oldSelectRows) { |
| | | this.selectionRows = [] |
| | | this.selectedRowKeys = [] |
| | | this.selectionRowsNotClear = [] |
| | | this.oldSelectRows = oldSelectRows |
| | | this.visible = true |
| | | this.loadData(1) |
| | |
| | | this.loadData() |
| | | }, |
| | | handleSubmit() { |
| | | this.$emit('selectionRows', this.selectionRows) |
| | | debugger |
| | | this.$emit('selectionRows', this.selectionRowsNotClear) |
| | | this.searchReset(0) |
| | | this.close() |
| | | }, |
| | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <j-form-container :disabled="formDisabled"> |
| | | <!-- 主表ååºå --> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-form-model |
| | | ref="form" |
| | | :model="model" |
| | | :rules="validatorRules" |
| | | slot="detail" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12" > |
| | | <a-form-model-item label="åæ®å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num"> |
| | | <a-input v-model="model.num" placeholder="ç³»ç»èªå¨çæ" :disabled="true" ></a-input> |
| | | <a-col :span="12"> |
| | | <a-form-model-item |
| | | label="åæ®å·" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="num" |
| | | > |
| | | <a-input |
| | | v-model="model.num" |
| | | placeholder="ç³»ç»èªå¨çæ" |
| | | :disabled="true" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | </a-row> |
| | | </a-form-model> |
| | | </j-form-container> |
| | | <!-- å表ååºå --> |
| | | <a-tabs v-model="activeKey" @change="handleChangeTabs"> |
| | | <a-tab-pane tab="ABCè¯ä»·" :key="refKeys[0]" :forceRender="true"> |
| | | <!-- å表ååºå --> |
| | | <a-tabs |
| | | v-model="activeKey" |
| | | @change="handleChangeTabs" |
| | | > |
| | | <a-tab-pane |
| | | tab="ABCè¯ä»·" |
| | | :key="refKeys[0]" |
| | | :forceRender="true" |
| | | > |
| | | <j-vxe-table |
| | | keep-source |
| | | :ref="refKeys[0]" |
| | |
| | | :alwaysEdit="true" |
| | | @valueChange="changeDate" |
| | | :toolbarConfig="toolbarConfig" |
| | | > |
| | | <template slot="toolbarPrefix"> |
| | | <a-button type="primary" @click="selectEquipmentList" :disabled="formDisabled">éæ©è®¾å¤ |
| | | </a-button> |
| | | </template> |
| | | > |
| | | <template slot="toolbarPrefix"> |
| | | <a-button |
| | | type="primary" |
| | | @click="selectEquipmentList" |
| | | :disabled="formDisabled" |
| | | >éæ©è®¾å¤ |
| | | </a-button> |
| | | </template> |
| | | </j-vxe-table> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | <equipment-select-model ref="EquipmentSelectModal" @selectionRows="addSelectedEquipments"></equipment-select-model> |
| | | <equipment-select-model |
| | | ref="EquipmentSelectModal" |
| | | @selectionRows="addSelectedEquipments" |
| | | ></equipment-select-model> |
| | | </a-spin> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { getAction } from '@/api/manage' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JFormContainer from '@/components/jeecg/JFormContainer' |
| | | import EquipmentSelectModel from './EquipmentSelectModel' |
| | | import { getAction } from '@/api/manage' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JFormContainer from '@/components/jeecg/JFormContainer' |
| | | import EquipmentSelectModel from './EquipmentSelectModel' |
| | | |
| | | export default { |
| | | name: 'StreamForm', |
| | | mixins: [JVxeTableModelMixin], |
| | | components: { |
| | | JFormContainer, |
| | | EquipmentSelectModel |
| | | }, |
| | | data() { |
| | | return { |
| | | toolbarConfig: { |
| | | export default { |
| | | name: 'StreamForm', |
| | | mixins: [JVxeTableModelMixin], |
| | | components: { |
| | | JFormContainer, |
| | | EquipmentSelectModel |
| | | }, |
| | | data() { |
| | | return { |
| | | toolbarConfig: { |
| | | // prefix åç¼ï¼suffix åç¼ |
| | | slot: ['prefix', 'suffix'], |
| | | // add æ°å¢æé®ï¼remove å 餿é®ï¼clearSelection æ¸
ç©ºéæ©æé® |
| | | btn: ['remove', 'clearSelection'] |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | model:{ |
| | | }, |
| | | // æ°å¢æ¶å表é»è®¤æ·»å å è¡ç©ºæ°æ® |
| | | addDefaultRowNum: 0, |
| | | validatorRules: { |
| | | }, |
| | | refKeys: ['aBCAssessment' ], |
| | | tableKeys:[ 'aBCAssessment' ], |
| | | activeKey: 'streamOperation', |
| | | // ABCè¯ä»· |
| | | aBCAssessmentTable: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | key: 'num', |
| | | type: JVXETypes.normal, |
| | | width:"160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled:true, |
| | | align:'center', |
| | | defaultValue:'', |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | key: 'name', |
| | | type: JVXETypes.normal, |
| | | width:"160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled:true, |
| | | align:'center', |
| | | defaultValue:'', |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | key: 'model', |
| | | type: JVXETypes.normal, |
| | | width:"160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled:true, |
| | | align:'center', |
| | | defaultValue:'', |
| | | }, |
| | | { |
| | | title: '设å¤ID', |
| | | key: 'equipmentId', |
| | | type: JVXETypes.hidden, |
| | | width:"250px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | align:'center', |
| | | }, |
| | | { |
| | | title: 'å¹³å使ç¨ç', |
| | | key: 'standardA', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardA', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: '坿¿æ¢æ§', |
| | | key: 'standardB', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardB', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ
éå½±å度', |
| | | key: 'standardC', |
| | | type: JVXETypes.select, |
| | | width:"230px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardC', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'ç产è¶
差度', |
| | | key: 'standardD', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardD', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ
éé¢ç', |
| | | key: 'standardE', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardE', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: '设å¤ä»·å¼', |
| | | key: 'standardF', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standardF', |
| | | options:[], |
| | | align:'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ§æ è¯', |
| | | key: 'oldStandard', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | disabled:true, |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standard-result', |
| | | options:[], |
| | | align:'center', |
| | | }, |
| | | { |
| | | title: 'æ°æ è¯', |
| | | key: 'finalStandard', |
| | | type: JVXETypes.select, |
| | | width:"180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue:'', |
| | | dictCode:'ABC-standard-result', |
| | | options:[], |
| | | align:'center', |
| | | validateRules: [ |
| | | { |
| | | required: true, // å¿
å¡« |
| | | message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | }, |
| | | ] |
| | | }, |
| | | ] |
| | | }, |
| | | url: { |
| | | add: "/eam/stream/add", |
| | | edit: "/eam/stream/edit", |
| | | queryById: "/eam/stream/queryById", |
| | | getNum:'/eam/sysIdentity/getNumNew', |
| | | aBCAssessment: { |
| | | list: '/eam/stream/queryABCAssessmentByMainId' |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | model: { |
| | | }, |
| | | // æ°å¢æ¶å表é»è®¤æ·»å å è¡ç©ºæ°æ® |
| | | addDefaultRowNum: 0, |
| | | validatorRules: { |
| | | }, |
| | | refKeys: ['aBCAssessment'], |
| | | tableKeys: ['aBCAssessment'], |
| | | activeKey: 'streamOperation', |
| | | // ABCè¯ä»· |
| | | aBCAssessmentTable: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | key: 'num', |
| | | type: JVXETypes.normal, |
| | | width: "160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled: true, |
| | | align: 'center', |
| | | defaultValue: '', |
| | | }, |
| | | } |
| | | } |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | { |
| | | title: '设å¤åç§°', |
| | | key: 'name', |
| | | type: JVXETypes.normal, |
| | | width: "160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled: true, |
| | | align: 'center', |
| | | defaultValue: '', |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | key: 'model', |
| | | type: JVXETypes.normal, |
| | | width: "160px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | disabled: true, |
| | | align: 'center', |
| | | defaultValue: '', |
| | | }, |
| | | { |
| | | title: '设å¤ID', |
| | | key: 'equipmentId', |
| | | type: JVXETypes.hidden, |
| | | width: "250px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: 'å¹³å使ç¨ç', |
| | | key: 'standardA', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardA', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: '坿¿æ¢æ§', |
| | | key: 'standardB', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardB', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ
éå½±å度', |
| | | key: 'standardC', |
| | | type: JVXETypes.select, |
| | | width: "230px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardC', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'ç产è¶
差度', |
| | | key: 'standardD', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardD', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ
éé¢ç', |
| | | key: 'standardE', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardE', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: '设å¤ä»·å¼', |
| | | key: 'standardF', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standardF', |
| | | options: [], |
| | | align: 'center', |
| | | // validateRules: [ |
| | | // { |
| | | // required: true, // å¿
å¡« |
| | | // message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | // }, |
| | | // ] |
| | | }, |
| | | { |
| | | title: 'æ§æ è¯', |
| | | key: 'oldStandard', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | disabled: true, |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standard-result', |
| | | options: [], |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: 'æ°æ è¯', |
| | | key: 'finalStandard', |
| | | type: JVXETypes.select, |
| | | width: "180px", |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'ABC-standard-result', |
| | | options: [], |
| | | align: 'center', |
| | | validateRules: [ |
| | | { |
| | | required: true, // å¿
å¡« |
| | | message: '请è¾å
¥${title}' // æ¾ç¤ºçææ¬ |
| | | }, |
| | | ] |
| | | }, |
| | | ] |
| | | }, |
| | | }, |
| | | created () { |
| | | }, |
| | | methods: { |
| | | addBefore(){ |
| | | let that = this; |
| | | let param = { |
| | | type: 'ABCAssement', |
| | | length: 4 |
| | | }; |
| | | getAction(this.url.getNum,param).then(res=>{ |
| | | if(res.success){ |
| | | that.model.num = res.result; |
| | | } |
| | | }) |
| | | this.aBCAssessmentTable.dataSource=[] |
| | | }, |
| | | getAllTable() { |
| | | let values = this.tableKeys.map(key => getRefPromise(this, key)) |
| | | return Promise.all(values) |
| | | }, |
| | | /** è°ç¨å®edit()æ¹æ³ä¹åä¼èªå¨è°ç¨æ¤æ¹æ³ */ |
| | | editAfter() { |
| | | this.$nextTick(() => { |
| | | }) |
| | | // å è½½åè¡¨æ°æ® |
| | | if (this.model.id) { |
| | | let params = { id: this.model.id } |
| | | this.requestSubTableData(this.url.aBCAssessment.list, params, this.aBCAssessmentTable) |
| | | } |
| | | }, |
| | | //æ ¡éªææä¸å¯¹ä¸å表表å |
| | | validateSubForm(allValues){ |
| | | return new Promise((resolve,reject)=>{ |
| | | Promise.all([ |
| | | ]).then(() => { |
| | | resolve(allValues) |
| | | }).catch(e => { |
| | | if (e.error === VALIDATE_FAILED) { |
| | | // å¦æææªéè¿è¡¨åéªè¯çå表ï¼å°±èªå¨è·³è½¬å°å®æå¨çtab |
| | | this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] |
| | | } else { |
| | | console.error(e) |
| | | } |
| | | }) |
| | | }) |
| | | url: { |
| | | add: "/eam/stream/add", |
| | | edit: "/eam/stream/edit", |
| | | queryById: "/eam/stream/queryById", |
| | | getNum: '/eam/sysIdentity/getNumNew', |
| | | aBCAssessment: { |
| | | list: '/eam/stream/queryABCAssessmentByMainId' |
| | | }, |
| | | /** æ´çæformData */ |
| | | classifyIntoFormData(allValues) { |
| | | let main = Object.assign(this.model, allValues.formValue) |
| | | return { |
| | | ...main, // å±å¼ |
| | | assessmentList: allValues.tablesValue[0].tableData |
| | | } |
| | | } |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled() { |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | addBefore() { |
| | | let that = this; |
| | | let param = { |
| | | type: 'ABCAssement', |
| | | length: 4 |
| | | }; |
| | | getAction(this.url.getNum, param).then(res => { |
| | | if (res.success) { |
| | | that.model.num = res.result; |
| | | } |
| | | }, |
| | | validateError(msg){ |
| | | this.$message.error(msg) |
| | | }, |
| | | standardResultCompute(e,index) { |
| | | let keyIndex = 'standard'+index; |
| | | let tableData =this.$refs.aBCAssessment.getTableData(); |
| | | for(var i = 0;i<tableData.length;i++){ |
| | | let row = this.$refs.aBCAssessment.getRowById(tableData[i].equipmentId); |
| | | row[keyIndex]=e |
| | | this.changeDateByRow(row); |
| | | }) |
| | | this.aBCAssessmentTable.dataSource = [] |
| | | }, |
| | | getAllTable() { |
| | | let values = this.tableKeys.map(key => getRefPromise(this, key)) |
| | | return Promise.all(values) |
| | | }, |
| | | /** è°ç¨å®edit()æ¹æ³ä¹åä¼èªå¨è°ç¨æ¤æ¹æ³ */ |
| | | editAfter() { |
| | | this.$nextTick(() => { |
| | | }) |
| | | // å è½½åè¡¨æ°æ® |
| | | if (this.model.id) { |
| | | let params = { id: this.model.id } |
| | | this.requestSubTableData(this.url.aBCAssessment.list, params, this.aBCAssessmentTable) |
| | | } |
| | | }, |
| | | //æ ¡éªææä¸å¯¹ä¸å表表å |
| | | validateSubForm(allValues) { |
| | | return new Promise((resolve, reject) => { |
| | | Promise.all([ |
| | | ]).then(() => { |
| | | resolve(allValues) |
| | | }).catch(e => { |
| | | if (e.error === VALIDATE_FAILED) { |
| | | // å¦æææªéè¿è¡¨åéªè¯çå表ï¼å°±èªå¨è·³è½¬å°å®æå¨çtab |
| | | this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] |
| | | } else { |
| | | console.error(e) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | /** æ´çæformData */ |
| | | classifyIntoFormData(allValues) { |
| | | let main = Object.assign(this.model, allValues.formValue) |
| | | return { |
| | | ...main, // å±å¼ |
| | | assessmentList: allValues.tablesValue[0].tableData |
| | | } |
| | | }, |
| | | validateError(msg) { |
| | | this.$message.error(msg) |
| | | }, |
| | | standardResultCompute(e, index) { |
| | | let keyIndex = 'standard' + index; |
| | | let tableData = this.$refs.aBCAssessment.getTableData(); |
| | | for (var i = 0; i < tableData.length; i++) { |
| | | let row = this.$refs.aBCAssessment.getRowById(tableData[i].equipmentId); |
| | | row[keyIndex] = e |
| | | this.changeDateByRow(row); |
| | | } |
| | | var standardA = this.model.standardA == null || this.model.standardA == undefined || this.model.standardA == '' ? 0 : parseInt(this.model.standardA); |
| | | var standardB = this.model.standardB == null || this.model.standardB == undefined || this.model.standardB == '' ? 0 : parseInt(this.model.standardB); |
| | |
| | | } else { |
| | | this.model.finalStandard = 'C' |
| | | } |
| | | this.model = Object.assign({}, this.model); |
| | | }, |
| | | //éæ©è®¾å¤ |
| | | selectEquipmentList() { |
| | | let ids = [] |
| | | let tableData = this.$refs.aBCAssessment.getTableData() |
| | | let deleteData = this.$refs.aBCAssessment.getDeleteData() |
| | | for (let i = 0; i < tableData.length; i++) { |
| | | ids.push(tableData[i].equipmentId) |
| | | } |
| | | this.$refs.EquipmentSelectModal.showModals(ids) |
| | | this.$refs.EquipmentSelectModal.title = 'éæ©è®¾å¤' |
| | | this.$refs.EquipmentSelectModal.disableSubmit = false |
| | | }, |
| | | addSelectedEquipments(data) { |
| | | let tableData = this.$refs.aBCAssessment.getTableData() |
| | | // const seletedEquipmentIds = tableData. |
| | | var tableStr = JSON.stringify(tableData) |
| | | const addRows = [] |
| | | for (let i = 0; i < data.length; i++) { |
| | | var equipment = {} |
| | | if (tableStr.indexOf(data[i].id)==-1) { |
| | | equipment = { |
| | | id:data[i].id, |
| | | equipmentId: data[i].id, |
| | | num: data[i].num, |
| | | name: data[i].name, |
| | | model:data[i].model, |
| | | standardA:data[i].standardA, |
| | | standardB:data[i].standardB, |
| | | standardC:data[i].standardC, |
| | | standardD:data[i].standardD, |
| | | standardE:data[i].standardE, |
| | | standardF:data[i].standardF, |
| | | oldStandard:data[i].equipmentImportanceId, |
| | | finalStandard:'D', |
| | | } |
| | | this.model = Object.assign({}, this.model); |
| | | }, |
| | | //éæ©è®¾å¤ |
| | | selectEquipmentList() { |
| | | let ids = [] |
| | | let tableData = this.$refs.aBCAssessment.getTableData() |
| | | let deleteData = this.$refs.aBCAssessment.getDeleteData() |
| | | for (let i = 0; i < tableData.length; i++) { |
| | | ids.push(tableData[i].equipmentId) |
| | | } |
| | | this.$refs.EquipmentSelectModal.showModals(ids) |
| | | this.$refs.EquipmentSelectModal.title = 'éæ©è®¾å¤' |
| | | this.$refs.EquipmentSelectModal.disableSubmit = false |
| | | }, |
| | | addSelectedEquipments(data) { |
| | | let tableData = this.$refs.aBCAssessment.getTableData() |
| | | debugger |
| | | // const seletedEquipmentIds = tableData. |
| | | var tableStr = JSON.stringify(tableData) |
| | | const addRows = [] |
| | | for (let i = 0; i < data.length; i++) { |
| | | var equipment = {} |
| | | if (tableStr.indexOf(data[i].id) == -1) { |
| | | equipment = { |
| | | id: data[i].id, |
| | | equipmentId: data[i].id, |
| | | num: data[i].num, |
| | | name: data[i].name, |
| | | model: data[i].model, |
| | | standardA: data[i].standardA, |
| | | standardB: data[i].standardB, |
| | | standardC: data[i].standardC, |
| | | standardD: data[i].standardD, |
| | | standardE: data[i].standardE, |
| | | standardF: data[i].standardF, |
| | | oldStandard: data[i].equipmentImportanceId, |
| | | finalStandard: 'D', |
| | | } |
| | | addRows.push(equipment) |
| | | } |
| | | this.$refs.aBCAssessment.pushRows(addRows) |
| | | }, |
| | | changeDate(target){ |
| | | var standardA = target.row.standardA == null || target.row.standardA == undefined || target.row.standardA == '' ? 0 : parseInt(target.row.standardA); |
| | | var standardB = target.row.standardB == null || target.row.standardB == undefined || target.row.standardB == '' ? 0 : parseInt(target.row.standardB); |
| | | var standardC = target.row.standardC == null || target.row.standardC == undefined || target.row.standardC == '' ? 0 : parseInt(target.row.standardC); |
| | | var standardD = target.row.standardD == null || target.row.standardD == undefined || target.row.standardD == '' ? 0 : parseInt(target.row.standardD); |
| | | var standardE = target.row.standardE == null || target.row.standardE == undefined || target.row.standardE == '' ? 0 : parseInt(target.row.standardE); |
| | | var standardF = target.row.standardF == null || target.row.standardF == undefined || target.row.standardF == '' ? 0 : parseInt(target.row.standardF); |
| | | var sum = standardA + standardB + standardC + standardD + standardE + standardF; |
| | | console.log(target) |
| | | if (sum >= 18) { |
| | | target.row.finalStandard = 'A' |
| | | } else if (sum >= 10 && sum <= 17) { |
| | | target.row.finalStandard = 'B' |
| | | } else { |
| | | target.row.finalStandard = 'C' |
| | | } |
| | | }, |
| | | changeDateByRow(row){ |
| | | var standardA = row.standardA == null || row.standardA == undefined || row.standardA == '' ? 0 : parseInt(row.standardA); |
| | | var standardB = row.standardB == null || row.standardB == undefined || row.standardB == '' ? 0 : parseInt(row.standardB); |
| | | var standardC = row.standardC == null || row.standardC == undefined || row.standardC == '' ? 0 : parseInt(row.standardC); |
| | | var standardD = row.standardD == null || row.standardD == undefined || row.standardD == '' ? 0 : parseInt(row.standardD); |
| | | var standardE = row.standardE == null || row.standardE == undefined || row.standardE == '' ? 0 : parseInt(row.standardE); |
| | | var standardF = row.standardF == null || row.standardF == undefined || row.standardF == '' ? 0 : parseInt(row.standardF); |
| | | var sum = standardA + standardB + standardC + standardD + standardE + standardF; |
| | | if (sum >= 18) { |
| | | row.finalStandard = 'A' |
| | | } else if (sum >= 10 && sum <= 17) { |
| | | row.finalStandard = 'B' |
| | | } else { |
| | | row.finalStandard = 'C' |
| | | } |
| | | }, |
| | | } |
| | | addRows.push(equipment) |
| | | } |
| | | this.$refs.aBCAssessment.pushRows(addRows) |
| | | }, |
| | | changeDate(target) { |
| | | var standardA = target.row.standardA == null || target.row.standardA == undefined || target.row.standardA == '' ? 0 : parseInt(target.row.standardA); |
| | | var standardB = target.row.standardB == null || target.row.standardB == undefined || target.row.standardB == '' ? 0 : parseInt(target.row.standardB); |
| | | var standardC = target.row.standardC == null || target.row.standardC == undefined || target.row.standardC == '' ? 0 : parseInt(target.row.standardC); |
| | | var standardD = target.row.standardD == null || target.row.standardD == undefined || target.row.standardD == '' ? 0 : parseInt(target.row.standardD); |
| | | var standardE = target.row.standardE == null || target.row.standardE == undefined || target.row.standardE == '' ? 0 : parseInt(target.row.standardE); |
| | | var standardF = target.row.standardF == null || target.row.standardF == undefined || target.row.standardF == '' ? 0 : parseInt(target.row.standardF); |
| | | var sum = standardA + standardB + standardC + standardD + standardE + standardF; |
| | | console.log(target) |
| | | if (sum >= 18) { |
| | | target.row.finalStandard = 'A' |
| | | } else if (sum >= 10 && sum <= 17) { |
| | | target.row.finalStandard = 'B' |
| | | } else { |
| | | target.row.finalStandard = 'C' |
| | | } |
| | | }, |
| | | changeDateByRow(row) { |
| | | var standardA = row.standardA == null || row.standardA == undefined || row.standardA == '' ? 0 : parseInt(row.standardA); |
| | | var standardB = row.standardB == null || row.standardB == undefined || row.standardB == '' ? 0 : parseInt(row.standardB); |
| | | var standardC = row.standardC == null || row.standardC == undefined || row.standardC == '' ? 0 : parseInt(row.standardC); |
| | | var standardD = row.standardD == null || row.standardD == undefined || row.standardD == '' ? 0 : parseInt(row.standardD); |
| | | var standardE = row.standardE == null || row.standardE == undefined || row.standardE == '' ? 0 : parseInt(row.standardE); |
| | | var standardF = row.standardF == null || row.standardF == undefined || row.standardF == '' ? 0 : parseInt(row.standardF); |
| | | var sum = standardA + standardB + standardC + standardD + standardE + standardF; |
| | | if (sum >= 18) { |
| | | row.finalStandard = 'A' |
| | | } else if (sum >= 10 && sum <= 17) { |
| | | row.finalStandard = 'B' |
| | | } else { |
| | | row.finalStandard = 'C' |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="1200" |
| | | :width="1500" |
| | | :visible="visible" |
| | | :maskClosable="false" |
| | | switchFullscreen |
| | | :fullscreen="true" |
| | | :fullscreen="false" |
| | | @ok="handleOk" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
| | | @cancel="handleCancel"> |
| | | <stream-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/> |
| | | @cancel="handleCancel" |
| | | > |
| | | <stream-form |
| | | ref="realForm" |
| | | @ok="submitCallback" |
| | | :disabled="disableSubmit" |
| | | /> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import StreamForm from './StreamForm' |
| | | import StreamForm from './StreamForm' |
| | | |
| | | export default { |
| | | name: 'StreamModal', |
| | | components: { |
| | | StreamForm |
| | | export default { |
| | | name: 'StreamModal', |
| | | components: { |
| | | StreamForm |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | width: 800, |
| | | visible: false, |
| | | disableSubmit: false |
| | | } |
| | | }, |
| | | methods: { |
| | | add() { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.realForm.add(); |
| | | }) |
| | | }, |
| | | data() { |
| | | return { |
| | | title:'', |
| | | width:800, |
| | | visible: false, |
| | | disableSubmit: false |
| | | } |
| | | edit(record) { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.realForm.edit(record); |
| | | }) |
| | | }, |
| | | methods:{ |
| | | add () { |
| | | this.visible=true |
| | | this.$nextTick(()=>{ |
| | | this.$refs.realForm.add(); |
| | | }) |
| | | }, |
| | | edit (record) { |
| | | this.visible=true |
| | | this.$nextTick(()=>{ |
| | | this.$refs.realForm.edit(record); |
| | | }) |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | handleOk () { |
| | | this.$refs.realForm.handleOk(); |
| | | }, |
| | | submitCallback(){ |
| | | this.$emit('ok'); |
| | | this.visible = false; |
| | | }, |
| | | handleCancel () { |
| | | this.close() |
| | | } |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | handleOk() { |
| | | this.$refs.realForm.handleOk(); |
| | | }, |
| | | submitCallback() { |
| | | this.$emit('ok'); |
| | | this.visible = false; |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | |
| | | allow-clear |
| | | placeholder="è¯·éæ©å·¥åº" |
| | | :triggerChange="true" |
| | | dictCode="mom_base_area,name,id,del_flag!='1'" |
| | | dictCode="mom_base_area,name,id,del_flag!='1' and type = '2'" |
| | | v-model="queryParam.factoryModelId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | delete: "/eam/equipment/delete", |
| | | deleteBatch: "/eam/equipment/deleteBatch", |
| | | active: "/eam/equipment/active", |
| | |
| | | <template> |
| | | <a-card |
| | | title="è®¾å¤æ
éåå " |
| | | title="è®¾å¤æ
éç±»åç»è®¡" |
| | | :bordered="true" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | |
| | | placeholder="请è¾å
¥ç»ä¸ç¼ç " |
| | | v-model="queryParam.equipmentNum" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="使ç¨é¨é¨"> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | placeholder='è¯·éæ©ä½¿ç¨é¨é¨' |
| | | :triggerChange='true' |
| | | dictCode="sys_depart,depart_name,id,del_flag!='1'" |
| | | v-model='queryParam.useId' |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'TeamList', |
| | | name: 'FaultCauseChart', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | Pie, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | title="è®¾å¤æ
鿬¡æ°ç»è®¡" |
| | | :bordered="true" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <a-input |
| | | placeholder="请è¾å
¥ç»ä¸ç¼ç " |
| | | v-model="queryParam.equipmentNum" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="使ç¨é¨é¨"> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | placeholder='è¯·éæ©ä½¿ç¨é¨é¨' |
| | | :triggerChange='true' |
| | | dictCode="sys_depart,depart_name,id,del_flag!='1'" |
| | | v-model='queryParam.useId' |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ¶é´"> |
| | | <a-range-picker |
| | | style="width: 100%;" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | v-model="faultTime" |
| | | @change="timeChange" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | | class="table-page-search-submitButtons" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >æ¥è¯¢</a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="searchReset" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >éç½®</a-button> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="false" |
| | | title="æè¿ä¸æè®¾å¤æ
鿬¡æ°ç»è®¡" |
| | | :style="{ marginTop: '24px' }" |
| | | > |
| | | <!--<a-row> |
| | | <a-col :span="6"> |
| | | <head-info title="仿¥IP" :content="loginfo.todayIp"></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="environment" style="font-size: 24px" /> |
| | | </a-spin> |
| | | </a-col> |
| | | <a-col :span="6"> |
| | | <head-info title="仿¥è®¿é®" :content="loginfo.todayVisitCount"></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="team" style="font-size: 24px" /> |
| | | </a-spin> |
| | | </a-col> |
| | | <a-col :span="6"> |
| | | <head-info title="æ»è®¿é®é" :content="loginfo.totalVisitCount"></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="rise" style="font-size: 24px" /> |
| | | </a-spin> |
| | | </a-col> |
| | | </a-row> --> |
| | | <line-chart-multid |
| | | :dataSource="visitInfo" |
| | | :fields="visitFields" |
| | | ></line-chart-multid> |
| | | </a-card> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { getAction, deleteAction, postAction } from '@/api/manage' |
| | | import LineChartMultid from '@/components/chart/LineChartMultid' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'FaultCauseChartEquipment', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | LineChartMultid |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'FaultCauseChartEquipment', |
| | | visitFields: ['è®¾å¤æ
鿬¡æ°'], |
| | | // visitInfo: [{ 'è®¾å¤æ
鿬¡æ°': '5', type: '07-28' }, { 'è®¾å¤æ
鿬¡æ°': '6', type: '07-29' }], |
| | | visitInfo: [], |
| | | url: { |
| | | list: "/eam/repairOrder/getEquipmentFaultCause", |
| | | }, |
| | | // 表头 |
| | | faultTime: [], |
| | | dictOptions: {}, |
| | | superFieldList: [], |
| | | queryParam: {} |
| | | } |
| | | }, |
| | | // created() { |
| | | // this.loadData2(1); |
| | | // }, |
| | | methods: { |
| | | |
| | | timeChange() { |
| | | this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss") |
| | | this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss") |
| | | }, |
| | | |
| | | searchQuery() { |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | searchReset() { |
| | | this.faultTime = [] |
| | | this.queryParam = {} |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | loadData(arg) { |
| | | this.loading = true; |
| | | getAction(this.url.list, this.queryParam).then((res) => { |
| | | if (res.success) { |
| | | this.visitInfo = res.result.records || res.result; |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | <template> |
| | | <a-card |
| | | :bordered="false" |
| | | title="MTBF" |
| | | title="æ
éç±»åç»è®¡" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="使ç¨é¨é¨"> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | placeholder='è¯·éæ©ä½¿ç¨é¨é¨' |
| | | :triggerChange='true' |
| | | dictCode="sys_depart,depart_name,id,del_flag!='1'" |
| | | v-model='queryParam.useId' |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ¶é´"> |
| | | <a-range-picker |
| | | style="width: 100%;" |
| | |
| | | <maintenance-standard-planning-material :maintenanceStandardId='maintenanceStandardId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | <a-tab-pane |
| | | <a-tab-pane |
| | | tab='å±é©é²æ§' |
| | | key="3" |
| | | > |
| | |
| | | > |
| | | <maintenance-standard-work-instruction :maintenanceStandardId='maintenanceStandardId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | </a-tab-pane>--> |
| | | <a-tab-pane |
| | | tab='å®é
ç¨æ' |
| | | key="5" |
| | |
| | | :equipmentId="this.model.equipmentId" |
| | | ></actual-material-edit-table> |
| | | </div> |
| | | </a-tab-pane>--> |
| | | </a-tab-pane> |
| | | <a-tab-pane |
| | | tab='å®é
å·¥æ¶' |
| | | key="6" |
| | |
| | | mounted() { |
| | | this.$bus.$on('selectionRows', (data) => { |
| | | for (let i = 0; i < data.length; i++) { |
| | | debugger |
| | | this.dataSource.push({ |
| | | id: data[i][0].id, |
| | | inspectionProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | detectionStandard: data[i][0].detectionStandard, |
| | | acceptabilityLimit: data[i][0].acceptabilityLimit, |
| | | inspectionMethodName: data[i][0].inspectionMethod_dictText, |
| | | inspectionTool: data[i][0].inspectionTool, |
| | | id: data[i].id, |
| | | inspectionProjectId: data[i].id, |
| | | name: data[i].name, |
| | | detectionStandard: data[i].detectionStandard, |
| | | acceptabilityLimit: data[i].acceptabilityLimit, |
| | | inspectionMethodName: data[i].inspectionMethod_dictText, |
| | | inspectionTool: data[i].inspectionTool, |
| | | inspectionCycles: this.inspectionCycles, |
| | | }) |
| | | } |
| | |
| | | |
| | | ], |
| | | selectedRowKeys: [], |
| | | selectedRows: [], |
| | | selectionRowsNotClear: [], |
| | | oldSelectRows: [], |
| | | scrollTrigger: {}, |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRows = selectedRows |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | }, |
| | | onSelect: (record, selected, selectedRows) => { |
| | | if (selected) { |
| | | this.selectionRowsNotClear.push(record); |
| | | } |
| | | if (!selected) { |
| | | let delIndex = this.selectionRowsNotClear.findIndex(val => { |
| | | return val.id === record.id |
| | | }) |
| | | this.selectionRowsNotClear.splice(delIndex, 1); |
| | | } |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | |
| | | } |
| | | }), |
| | | selectedRowKeys: this.selectedRowKeys, |
| | | selectedRows: this.selectionRows |
| | | } |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | async loadData(arg) { |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1 |
| | |
| | | if (num !== 0) { |
| | | that.loadData(1) |
| | | } |
| | | that.selectborrowIds = [] |
| | | }, |
| | | close() { |
| | | this.searchReset(0) |
| | |
| | | this.searchReset(0) |
| | | this.close() |
| | | }, |
| | | onSelectChange(selectionRows) { |
| | | this.selectionRows = selectionRows |
| | | onSelectionChange(selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.selectedRows = selectedRows; |
| | | }, |
| | | |
| | | searchQuery() { |
| | | this.loadData(1) |
| | | } |
| | |
| | | @change="handleTableChange" |
| | | :loading="loading" |
| | | > |
| | | |
| | | <template |
| | | v-for="col in columns" |
| | | :slot="col.dataIndex" |
| | | slot-scope='text, record, index' |
| | | > |
| | | <div :key="col.dataIndex"> |
| | | <a-input-search |
| | | v-if="col.dataIndex == 'materialName'" |
| | | enter-button |
| | | @search="onSearchMaterial(index)" |
| | | <a-input |
| | | :value="text" |
| | | :read-only="true" |
| | | @change="(e) => handleChange(e, record.key, col, index)" |
| | | v-if="col.dataIndex == 'sparePartId'" |
| | | auto-size |
| | | placeholder="请è¾å
¥ç©æåç§°" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | /> |
| | | <a-input |
| | | :value="text" |
| | | v-if="col.dataIndex == 'smoamUda2'" |
| | | auto-size |
| | | placeholder="请è¾å
¥åä½" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | /> |
| | | <j-dict-select-tag |
| | | :value='text' |
| | | v-if="col.dataIndex == 'smoamUda1'" |
| | | dictCode="material_type" |
| | | style="width: 100%;" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | /> |
| | | <a-input-number |
| | | :value="text" |
| | |
| | | :min="1" |
| | | :max="99999" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="record.isLock == 'yes'||dailyMaintenanceOrderStatus!='4'" |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | /> |
| | | |
| | | </div> |
| | | </template> |
| | | <span |
| | | slot='action' |
| | | slot-scope='text, record' |
| | | slot-scope='text, record,index' |
| | | > |
| | | <a-popconfirm |
| | | title="确认éæå?" |
| | | @confirm="() => handleLock(record)" |
| | | dailyMaintenanceOrder:actualMaterialLock |
| | | > |
| | | <a |
| | | v-has="'dailyMaintenanceOrder:actualMaterialLock'" |
| | | v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'" |
| | | >éæ</a> |
| | | </a-popconfirm> |
| | | <a-divider |
| | | v-if="record.isLock=='no'" |
| | | type="vertical" |
| | | /> |
| | | <a-popconfirm |
| | | title="è§£éåä¼èªå¨éæ¾åºåï¼ç¡®è®¤è§£éå?" |
| | | @confirm="() => handleUnLock(record)" |
| | | > |
| | | <a |
| | | v-has="'dailyMaintenanceOrder:actualMaterialLock'" |
| | | v-if="record.isLock=='yes'&&dailyMaintenanceOrderStatus=='4'" |
| | | >è§£é</a> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | > |
| | | <a |
| | | v-has="'dailyMaintenanceOrder:actualMaterialDelete'" |
| | | v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'" |
| | | >å é¤</a> |
| | | </a-popconfirm> |
| | | <a |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | @click='handleDeleteFake(index)' |
| | | >å é¤</a> |
| | | <!-- :disabled="mainId.status=='4'" --> |
| | | </span> |
| | | </a-table> |
| | | <a-button |
| | |
| | | type="primary" |
| | | :style="{marginRight: '8px'}" |
| | | :disabled="specialyMaintenanceOrderStatus!='4'" |
| | | >æå</a-button> |
| | | >æå</a-button> --> |
| | | <a-button |
| | | @click="handleOk(0)" |
| | | type="primary" |
| | | :disabled="specialyMaintenanceOrderStatus!='4'" |
| | | >ä¿å</a-button> --> |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | >ä¿å</a-button> |
| | | </a-row> |
| | | <!-- :disabled="false" --> |
| | | </div> |
| | | <actual-material-select ref="actualMaterialSelect"> |
| | | <!-- @sendMaterialRecord="sendMaterialRecord" --> |
| | | </actual-material-select> |
| | | <j-select-spare-part-modal ref='JSelectSparePartModal' @selection2Rows="getSelectRows"></j-select-spare-part-modal> |
| | | <j-select-spare-part-modal |
| | | ref='JSelectSparePartModal' |
| | | @selection2Rows="getSelectRows" |
| | | ></j-select-spare-part-modal> |
| | | </a-card> |
| | | </template> |
| | | <script> |
| | |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: '颿åºåºå', |
| | | dataIndex: 'num', |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: "center", |
| | | width: 150, |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶ç¼ç ', |
| | | dataIndex: 'sparePartNum', |
| | | title: 'ç©æåç§°', |
| | | dataIndex: 'sparePartId', |
| | | scopedSlots: { customRender: 'sparePartId' }, |
| | | align: "center", |
| | | |
| | | // className: 'red', |
| | | // width: 250, |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶åç§°', |
| | | dataIndex: 'sparePartName', |
| | | title: 'ç©æç§ç±»', |
| | | dataIndex: 'smoamUda1', |
| | | scopedSlots: { customRender: 'smoamUda1' }, |
| | | align: "center", |
| | | |
| | | }, |
| | | { |
| | | title: 'è§æ ¼', |
| | | dataIndex: 'specification', |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | | dataIndex: 'model', |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: 'å¶é å', |
| | | dataIndex: 'constructorName', |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: '主åä½', |
| | | dataIndex: 'mainUnitName', |
| | | align: "center", |
| | | |
| | | }, |
| | | { |
| | | title: '主æ°é', |
| | | align: 'center', |
| | | dataIndex: 'mainQuantity' |
| | | }, |
| | | { |
| | | title: 'å¯ç¨æ°é', |
| | | align: 'center', |
| | | dataIndex: 'availableQuantity' |
| | | // width: 250, |
| | | }, |
| | | { |
| | | title: 'ä½¿ç¨æ°é', |
| | | dataIndex: 'quantity', |
| | | align: "center", |
| | | scopedSlots: { customRender: 'quantity' }, |
| | | className: 'red', |
| | | |
| | | // className: 'red', |
| | | }, |
| | | { |
| | | title: 'åä½', |
| | | dataIndex: 'smoamUda2', |
| | | |
| | | align: "center", |
| | | scopedSlots: { customRender: 'smoamUda2' }, |
| | | // className: 'red', |
| | | }, |
| | | |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | width: 250, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | |
| | | unLock: "/eam/maintenanceOrderActualMaterial/unLock" |
| | | }, |
| | | changeIndex: 0, |
| | | loading:false, |
| | | loading: false, |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | // } |
| | | // } |
| | | }, |
| | | // created() { |
| | | // this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId; |
| | | // this.queryParam['equipmentId'] = this.equipmentId |
| | | // this.loadData(1); |
| | | // }, |
| | | created() { |
| | | this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId; |
| | | this.queryParam['equipmentId'] = this.equipmentId |
| | | this.loadData(1); |
| | | }, |
| | | methods: { |
| | | // addMaterial() { |
| | | // let ids = []; |
| | | // for (let i = 0; i < this.dataSource.length; i++) { |
| | | // ids.push(this.dataSource[i].outboundOrderDetailId); |
| | | // } |
| | | // this.$refs.JSelectSparePartModal.showModals(ids); |
| | | // this.$refs.JSelectSparePartModal.title = 'éæ©å¤ä»¶ä¿¡æ¯' |
| | | // this.$refs.JSelectSparePartModal.disableSubmit = false |
| | | // }, |
| | | addMaterial() { |
| | | let ids = []; |
| | | for (let i = 0; i < this.dataSource.length; i++) { |
| | | ids.push(this.dataSource[i].outboundOrderDetailId); |
| | | } |
| | | this.$refs.JSelectSparePartModal.showModals(ids); |
| | | this.$refs.JSelectSparePartModal.title = 'éæ©å¤ä»¶ä¿¡æ¯' |
| | | this.$refs.JSelectSparePartModal.disableSubmit = false |
| | | this.dataSource.push({ sparePartId: '', smoamUda1: '', smoamUda2: '', quantity: '', repairOrderId: this.equipmentId }) |
| | | }, |
| | | handleCancel() { |
| | | this.$bus.$emit('closeDrawer'); |
| | |
| | | if (saveStatus == 0) { |
| | | let materialDataSource = that.dataSource; |
| | | let indexIdList = []; |
| | | for (let i = 0; i < materialDataSource.length; i++) { |
| | | if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') { |
| | | that.$message.warning("è¯·éæ©ç¬¬" + (i + 1) + "è¡ç©æï¼"); |
| | | return false; |
| | | } |
| | | if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') { |
| | | that.$message.warning("请填å第" + (i + 1) + "è¡ç¨ææ°ï¼"); |
| | | return false; |
| | | } |
| | | } |
| | | // for (let i = 0; i < materialDataSource.length; i++) { |
| | | // if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') { |
| | | // that.$message.warning("è¯·éæ©ç¬¬" + (i + 1) + "è¡ç©æï¼"); |
| | | // return false; |
| | | // } |
| | | // if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') { |
| | | // that.$message.warning("请填å第" + (i + 1) + "è¡ç¨ææ°ï¼"); |
| | | // return false; |
| | | // } |
| | | // } |
| | | } |
| | | if (that.dataSource.length === 0) { |
| | | that.$message.warning("请添å ç©æï¼") |
| | |
| | | console.log(column) |
| | | const temp = [...this.dataSource] |
| | | const target = temp[index] |
| | | let availableQuantity = target['availableQuantity'] |
| | | if (target) { |
| | | if (value != undefined && value != null && value != '' && availableQuantity < value) { |
| | | this.$message.error('ä½¿ç¨æ°éä¸è½å¤§äºå¯ç¨æ°é!') |
| | | } else { |
| | | } |
| | | target[column.dataIndex] = value |
| | | this.dataSource = temp |
| | | // let availableQuantity = target['availableQuantity'] |
| | | // if (target) { |
| | | // if (value != undefined && value != null && value != '' && availableQuantity < value) { |
| | | // this.$message.error('ä½¿ç¨æ°éä¸è½å¤§äºå¯ç¨æ°é!') |
| | | // } else { |
| | | // } |
| | | // target[column.dataIndex] = value |
| | | // this.dataSource = temp |
| | | // } |
| | | if ('sparePartId' == column.dataIndex) { |
| | | target['sparePartId'] = value.target.value |
| | | } |
| | | if ('smoamUda2' == column.dataIndex) { |
| | | target['smoamUda2'] = value.target.value |
| | | } |
| | | if ('quantity' == column.dataIndex) { |
| | | target['quantity'] = value |
| | | } |
| | | if ('smoamUda1' == column.dataIndex) { |
| | | target['smoamUda1'] = value |
| | | } |
| | | }, |
| | | onSearchMaterial(index) { |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | getSelectRows(data){ |
| | | getSelectRows(data) { |
| | | let newActualMaterials = []; |
| | | for (let i = 0; i < data.length; i++) { |
| | | newActualMaterials.push({ |
| | |
| | | > |
| | | <a |
| | | v-has="'dailyMaintenanceOrder:actualWorkHoursDelete'" |
| | | :disabled="dailyMaintenanceOrderStatus!='4'" |
| | | @click="handleDeleteFake(index)" |
| | | >å é¤</a> |
| | | </span> |
| | |
| | | for (let i = 0; i < data.length; i++) { |
| | | let id = this.getUuiD(15); |
| | | this.dataSource.push({ |
| | | id: id, |
| | | maintenanceProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | standard: data[i][0].standard, |
| | | maintenanceMethodName: data[i][0].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i][0].maintenanceTool, |
| | | location: data[i][0].location, |
| | | maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i][0].maintenanceRequire, |
| | | workingHourQuota: data[i][0].workingHourQuota, |
| | | id: data[i].id, |
| | | maintenanceProjectId: data[i].id, |
| | | name: data[i].name, |
| | | standard: data[i].standard, |
| | | maintenanceMethodName: data[i].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i].maintenanceTool, |
| | | location: data[i].location, |
| | | maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i].maintenanceRequire, |
| | | workingHourQuota: data[i].workingHourQuota, |
| | | // upload: this.upload, |
| | | // maintenanceCycles: this.maintenanceCycles, |
| | | }) |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | // this.selectionRowsNotClear.push(selectedRows) |
| | | this.onSelectChange(selectedRows) |
| | | }, |
| | | onSelect: (record, selected, selectedRows) => { |
| | | if (selected) { |
| | | this.selectionRowsNotClear.push(record); |
| | | } |
| | | if (!selected) { |
| | | let delIndex = this.selectionRowsNotClear.findIndex(val => { |
| | | return val.id === record.id |
| | | }) |
| | | this.selectionRowsNotClear.splice(delIndex, 1); |
| | | } |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | | disabled: record.distable |
| | |
| | | let id = this.getUuiD(15); |
| | | this.dataSource.push({ |
| | | id: id, |
| | | maintenanceProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | standard: data[i][0].standard, |
| | | maintenanceMethodName: data[i][0].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i][0].maintenanceTool, |
| | | location: data[i][0].location, |
| | | maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i][0].maintenanceRequire, |
| | | workingHourQuota: data[i][0].workingHourQuota, |
| | | maintenanceProjectId: data[i].id, |
| | | name: data[i].name, |
| | | standard: data[i].standard, |
| | | maintenanceMethodName: data[i].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i].maintenanceTool, |
| | | location: data[i].location, |
| | | maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i].maintenanceRequire, |
| | | workingHourQuota: data[i].workingHourQuota, |
| | | // upload: this.upload, |
| | | // maintenanceCycles: this.maintenanceCycles, |
| | | }) |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | // this.selectionRowsNotClear.push(selectedRows) |
| | | this.onSelectChange(selectedRows) |
| | | }, |
| | | onSelect: (record, selected, selectedRows) => { |
| | | if (selected) { |
| | | this.selectionRowsNotClear.push(record); |
| | | } |
| | | if (!selected) { |
| | | let delIndex = this.selectionRowsNotClear.findIndex(val => { |
| | | return val.id === record.id |
| | | }) |
| | | this.selectionRowsNotClear.splice(delIndex, 1); |
| | | } |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | | disabled: record.distable |
| | |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/getEquipmentList", |
| | | list: "/eam/equipment/getEquipmentTZList", |
| | | }, |
| | | } |
| | | }, |
| | |
| | | list() { |
| | | this.selectedRowKeys = []; |
| | | this.selectedRowRecord = []; |
| | | this.queryParam.equipmentStatus = "1" |
| | | // this.queryParam.equipmentStatus = "1" |
| | | this.visible = true; |
| | | this.loadData(1); |
| | | }, |
| | |
| | | this.ipagination.current = 1 |
| | | } |
| | | this.onClearSelected() |
| | | this.queryParam.equipmentStatus = '1'; |
| | | // this.queryParam.equipmentStatus = '1'; |
| | | var params = this.getQueryParams()//æ¥è¯¢æ¡ä»¶ |
| | | this.loading = true |
| | | getAction(this.url.list, params).then((res) => { |
| | |
| | | { |
| | | title: 'ç¨æ·', |
| | | key: 'userId', |
| | | type: JVXETypes.selectSearch, |
| | | type: JVXETypes.select, |
| | | dictCode: 'sys_user,realname,id ', |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | validateRules: [{ required: true, message: '${title}ä¸è½ä¸ºç©º' }] |
| | | }, |
| | | // type: JVXETypes.selectSearch, |
| | | // { |
| | | // title: '设å¤ç»ä¸ç¼ç ', |
| | | // key: 'equipmentIds', |
| | |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ ååç§°" |
| | | label="ç»´ä¿®æ åå
容" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç»´ä¿®æ ååç§°'" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç»´ä¿®æ åå
容'" |
| | | v-decorator="['name', validatorRules.name ]" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :md="8" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ ååç§°"> |
| | | <a-form-item label="ç»´ä¿®æ åå
容"> |
| | | <j-input |
| | | placeholder="请è¾å
¥ç»´ä¿®æ ååç§°" |
| | | placeholder="请è¾å
¥ç»´ä¿®æ åå
容" |
| | | v-model="queryParam.name" |
| | | ></j-input> |
| | | </a-form-item> |
| | |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®æ ååç§°', |
| | | title: 'ç»´ä¿®æ åå
容', |
| | | align: 'center', |
| | | dataIndex: 'name', |
| | | scopedSlots: { |
| | |
| | | dataIndex: 'userId', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'userId' }, |
| | | className: 'red', |
| | | // className: 'red', |
| | | width: 200 |
| | | }, |
| | | { |
| | |
| | | dataIndex: 'principalContractor', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'principalContractor' }, |
| | | className: 'red', |
| | | // className: 'red', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '*å®é
å·¥æ¶', |
| | | dataIndex: 'actualHour', |
| | | align: 'center', |
| | | className: 'red', |
| | | // className: 'red', |
| | | scopedSlots: { customRender: 'actualHour' }, |
| | | width: 150 |
| | | }, |
| | |
| | | dataIndex: 'sparePartId', |
| | | scopedSlots: { customRender: 'sparePartId' }, |
| | | align: "center", |
| | | className: 'red', |
| | | // className: 'red', |
| | | // width: 250, |
| | | }, |
| | | { |
| | |
| | | dataIndex: 'actualQuantity', |
| | | align: "center", |
| | | scopedSlots: { customRender: 'actualQuantity' }, |
| | | className: 'red', |
| | | // className: 'red', |
| | | }, |
| | | { |
| | | title: 'åä½', |
| | | dataIndex: 'repairOrderAmUda1', |
| | | scopedSlots: { customRender: 'repairOrderAmUda1' }, |
| | | align: "center", |
| | | className: 'red', |
| | | // className: 'red', |
| | | }, |
| | | |
| | | { |
| | |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disabledEdit" |
| | | :placeholder="'è¯·éæ©ç»´ä¿®æ å'" |
| | | :placeholder="'è¯·éæ©ç»´ä¿®æ åå
容'" |
| | | :triggerChange="true" |
| | | dictCode="mom_eam_repair_standard,name,id, del_flag!='1'" |
| | | v-decorator="['repairOrderFaultAnalysisUda5',validatorRules.repairOrderFaultAnalysisUda5]" |
| | |
| | | :wrapperCol="wrapperCol" |
| | | v-show="!productionDisabled" |
| | | > |
| | | <a-input-search :readOnly="true" v-model="model.equipmentIds" @search="deviceSearch" enter-button |
| | | placeholder="è¯·éæ©è®¾å¤" :disabled="!model.selectedProduction"/> |
| | | <a-input-search |
| | | :readOnly="true" |
| | | v-model="model.equipmentIds" |
| | | @search="deviceSearch" |
| | | enter-button |
| | | placeholder="è¯·éæ©è®¾å¤" |
| | | :disabled="!model.selectedProduction" |
| | | /> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="é¦é¡µæé" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-radio-group v-model="model.userType" :defaultValue="0"> |
| | | <a-form-model-item |
| | | label="é¦é¡µæé" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-radio-group |
| | | v-model="model.userType" |
| | | :defaultValue="0" |
| | | > |
| | | <a-radio :value="4">å
¬å¸çº§</a-radio> |
| | | <a-radio :value="3">车é´çº§</a-radio> |
| | | <a-radio :value="2">工段级</a-radio> |
| | |
| | | :wrapperCol="wrapperCol" |
| | | prop="areaId" |
| | | > |
| | | <j-dict-select-tag |
| | | <!-- <j-dict-select-tag |
| | | v-model="model.areaId" |
| | | :triggerChange="true" |
| | | dictCode="mom_base_area,name,id,del_flag = 0" |
| | | placeholder="请维æ¤ä¸å¿" |
| | | ></j-dict-select-tag> |
| | | ></j-dict-select-tag> --> |
| | | <j-multi-select-tag |
| | | :triggerChange="true" |
| | | v-model="model.areaId" |
| | | dictCode="mom_base_area,name,id,del_flag = 0 and type = 1" |
| | | placeholder="请维æ¤ä¸å¿" |
| | | > |
| | | </j-multi-select-tag> |
| | | </a-form-model-item> |
| | | <a-form-model-item |
| | | label="è´è´£é¨é¨" |
| | |
| | | </a-button> |
| | | </div> |
| | | |
| | | <select-device-modal ref="selectDeviceModal" @selectFinished="selectOK" :title="'éæ©è®¾å¤'"/> |
| | | <select-device-modal |
| | | ref="selectDeviceModal" |
| | | @selectFinished="selectOK" |
| | | :title="'éæ©è®¾å¤'" |
| | | /> |
| | | </a-drawer> |
| | | </template> |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import Vue from 'vue' |
| | | import { ACCESS_TOKEN } from '@/store/mutation-types' |
| | | import { getAction } from '@/api/manage' |
| | | import { addUser, editUser, queryUserRole, queryall } from '@/api/api' |
| | | import { disabledAuthFilter } from '@/utils/authFilter' |
| | | import { duplicateCheck } from '@/api/api' |
| | | import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction' |
| | | import { mapActions } from 'vuex' |
| | | import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api' |
| | | import SelectDeviceModal from './SelectDeviceModal' |
| | | import moment from 'moment' |
| | | import Vue from 'vue' |
| | | import { ACCESS_TOKEN } from '@/store/mutation-types' |
| | | import { getAction } from '@/api/manage' |
| | | import { addUser, editUser, queryUserRole, queryall } from '@/api/api' |
| | | import { disabledAuthFilter } from '@/utils/authFilter' |
| | | import { duplicateCheck } from '@/api/api' |
| | | import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction' |
| | | import { mapActions } from 'vuex' |
| | | import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api' |
| | | import SelectDeviceModal from './SelectDeviceModal' |
| | | |
| | | export default { |
| | | name: 'UserModal', |
| | | components: { |
| | | SelectDeviceModal, |
| | | JSelectProduction |
| | | }, |
| | | data() { |
| | | return { |
| | | departDisabled: false, //æ¯å¦æ¯æçé¨é¨è°ç¨è¯¥é¡µé¢ |
| | | productionDisabled: false, //æ¯å¦æ¯æç车é´è°ç¨è¯¥é¡µé¢ |
| | | roleDisabled: false, //æ¯å¦æ¯è§è²ç»´æ¤è°ç¨è¯¥é¡µé¢ |
| | | modalWidth: 800, |
| | | drawerWidth: 700, |
| | | modaltoggleFlag: true, |
| | | confirmDirty: false, |
| | | userId: '', //ä¿åç¨æ·id |
| | | disableSubmit: false, |
| | | dateFormat: 'YYYY-MM-DD', |
| | | validatorRules: { |
| | | username: [{ required: true, message: '请è¾å
¥ç¨æ·è´¦å·!' }, |
| | | { validator: this.validateUsername }], |
| | | password: [{ |
| | | required: true, |
| | | pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, |
| | | message: 'å¯ç ç±8使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!' |
| | | }, |
| | | { validator: this.validateToNextPassword, trigger: 'change' }], |
| | | confirmpassword: [{ required: true, message: 'è¯·éæ°è¾å
¥ç»å½å¯ç !' }, |
| | | { validator: this.compareToFirstPassword }], |
| | | realname: [{ required: true, message: '请è¾å
¥ç¨æ·åç§°!' }], |
| | | phone: [{ required: false, message: '请è¾å
¥ææºå·!' }, { validator: this.validatePhone }], |
| | | email: [{ validator: this.validateEmail }], |
| | | roles: {}, |
| | | workNo: [{ required: true, message: '请è¾å
¥å·¥å·' }, |
| | | { validator: this.validateWorkNo }], |
| | | telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请è¾å
¥æ£ç¡®ç座æºå·ç ' }], |
| | | teamId: [{ required: false, message: '请维æ¤çç»' }] |
| | | export default { |
| | | name: 'UserModal', |
| | | components: { |
| | | SelectDeviceModal, |
| | | JSelectProduction |
| | | }, |
| | | data() { |
| | | return { |
| | | departDisabled: false, //æ¯å¦æ¯æçé¨é¨è°ç¨è¯¥é¡µé¢ |
| | | productionDisabled: false, //æ¯å¦æ¯æç车é´è°ç¨è¯¥é¡µé¢ |
| | | roleDisabled: false, //æ¯å¦æ¯è§è²ç»´æ¤è°ç¨è¯¥é¡µé¢ |
| | | modalWidth: 800, |
| | | drawerWidth: 700, |
| | | modaltoggleFlag: true, |
| | | confirmDirty: false, |
| | | userId: '', //ä¿åç¨æ·id |
| | | disableSubmit: false, |
| | | dateFormat: 'YYYY-MM-DD', |
| | | validatorRules: { |
| | | username: [{ required: true, message: '请è¾å
¥ç¨æ·è´¦å·!' }, |
| | | { validator: this.validateUsername }], |
| | | password: [{ |
| | | required: true, |
| | | pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, |
| | | message: 'å¯ç ç±8使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!' |
| | | }, |
| | | departIdShow: false, |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | uploadLoading: false, |
| | | confirmLoading: false, |
| | | headers: {}, |
| | | url: { |
| | | fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload', |
| | | userWithDepart: '/sys/user/userDepartList', // å¼å
¥ä¸ºæå®ç¨æ·æ¥çé¨é¨ä¿¡æ¯éè¦çurl |
| | | //å¼å
¥ä¸ºæå®ç¨æ·æ¥ç车é´ä¿¡æ¯éè¦çurl |
| | | userProductionList: '/sys/user/userProductionList', |
| | | userId: '/sys/user/generateUserId', // å¼å
¥çææ·»å ç¨æ·æ
åµä¸çurl |
| | | syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//åæ¥ç¨æ·å°å·¥ä½æµ |
| | | queryTenantList: '/sys/tenant/queryList' |
| | | }, |
| | | tenantsOptions: [], |
| | | rolesOptions: [], |
| | | nextDepartOptions: [], |
| | | nextProductionOptions: [], |
| | | isDepartType: '', |
| | | model: { |
| | | selectedProduction: '' |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | visible: { |
| | | handler(value) { |
| | | if (value) this.initDictData('password_length') |
| | | } |
| | | { validator: this.validateToNextPassword, trigger: 'change' }], |
| | | confirmpassword: [{ required: true, message: 'è¯·éæ°è¾å
¥ç»å½å¯ç !' }, |
| | | { validator: this.compareToFirstPassword }], |
| | | realname: [{ required: true, message: '请è¾å
¥ç¨æ·åç§°!' }], |
| | | phone: [{ required: false, message: '请è¾å
¥ææºå·!' }, { validator: this.validatePhone }], |
| | | email: [{ validator: this.validateEmail }], |
| | | roles: {}, |
| | | workNo: [{ required: true, message: '请è¾å
¥å·¥å·' }, |
| | | { validator: this.validateWorkNo }], |
| | | telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请è¾å
¥æ£ç¡®ç座æºå·ç ' }], |
| | | teamId: [{ required: false, message: '请维æ¤çç»' }] |
| | | }, |
| | | 'model.selectedProduction': { |
| | | handler(newVal, oldVal) { |
| | | if (newVal && this.$refs.selectDeviceModal) { |
| | | // å¦æè½¦é´éæ©ååä¸ä¸è´åéç½®éæ©è®¾å¤ |
| | | if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = '' |
| | | this.$refs.selectDeviceModal.queryTreeData(newVal) |
| | | } |
| | | // 妿æ¸
空车é´å¼åéç½®éæ©è®¾å¤ |
| | | if (newVal === '') this.model.equipmentIds = '' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | const token = Vue.ls.get(ACCESS_TOKEN) |
| | | this.headers = { 'X-Access-Token': token } |
| | | this.initRoleList() |
| | | this.initTenantList() |
| | | this.queryTreeData() |
| | | }, |
| | | computed: { |
| | | uploadAction: function() { |
| | | return this.url.fileUpload |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapActions(['QueryDepartTree']), |
| | | queryTreeData() { |
| | | this.QueryDepartTree().then(res => { |
| | | if (res.success) { |
| | | this.isDepartType = res.result[0].value |
| | | } else { |
| | | // this.$message.warn(res.message) |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | }) |
| | | departIdShow: false, |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | add() { |
| | | this.refresh() |
| | | this.edit({ |
| | | activitiSync: '1', |
| | | userType: 0, |
| | | userIdentity: 1, |
| | | selectedroles: '', |
| | | selecteddeparts: '', |
| | | selectedProduction: '' |
| | | }) |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | edit(record) { |
| | | let that = this |
| | | that.visible = true |
| | | //æ ¹æ®å±å¹å®½åº¦èªéåºæ½å±å®½åº¦ |
| | | this.resetScreenSize() |
| | | that.userId = record.id |
| | | console.log('record', record) |
| | | that.model = Object.assign({}, record) |
| | | //身份为ä¸çº§æ¾ç¤ºè´è´£é¨é¨ï¼å¦å䏿¾ç¤º |
| | | if (this.model.userIdentity == 2) { |
| | | this.departIdShow = true |
| | | } else { |
| | | this.departIdShow = false |
| | | } |
| | | |
| | | if (record.hasOwnProperty('id')) { |
| | | that.getUserRoles(record.id) |
| | | that.getUserDeparts(record.id) |
| | | } |
| | | uploadLoading: false, |
| | | confirmLoading: false, |
| | | headers: {}, |
| | | url: { |
| | | fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload', |
| | | userWithDepart: '/sys/user/userDepartList', // å¼å
¥ä¸ºæå®ç¨æ·æ¥çé¨é¨ä¿¡æ¯éè¦çurl |
| | | //å¼å
¥ä¸ºæå®ç¨æ·æ¥ç车é´ä¿¡æ¯éè¦çurl |
| | | userProductionList: '/sys/user/userProductionList', |
| | | userId: '/sys/user/generateUserId', // å¼å
¥çææ·»å ç¨æ·æ
åµä¸çurl |
| | | syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//åæ¥ç¨æ·å°å·¥ä½æµ |
| | | queryTenantList: '/sys/tenant/queryList' |
| | | }, |
| | | isDisabledAuth(code) { |
| | | return disabledAuthFilter(code) |
| | | }, |
| | | //çªå£æå¤§å忢 |
| | | toggleScreen() { |
| | | if (this.modaltoggleFlag) { |
| | | this.modalWidth = window.innerWidth |
| | | } else { |
| | | this.modalWidth = 800 |
| | | } |
| | | this.modaltoggleFlag = !this.modaltoggleFlag |
| | | }, |
| | | // æ ¹æ®å±å¹åå,设置æ½å±å°ºå¯¸ |
| | | resetScreenSize() { |
| | | let screenWidth = document.body.clientWidth |
| | | if (screenWidth < 500) { |
| | | this.drawerWidth = screenWidth |
| | | } else { |
| | | this.drawerWidth = 700 |
| | | } |
| | | }, |
| | | //åå§åç§æ·åå
¸ |
| | | initTenantList() { |
| | | getAction(this.url.queryTenantList).then(res => { |
| | | if (res.success) { |
| | | this.tenantsOptions = res.result.map((item, index, arr) => { |
| | | let c = { label: item.name, value: item.id + '' } |
| | | return c |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | //åå§åè§è²åå
¸ |
| | | initRoleList() { |
| | | queryall().then((res) => { |
| | | if (res.success) { |
| | | this.rolesOptions = res.result.map((item, index, arr) => { |
| | | let c = { label: item.roleName, value: item.id } |
| | | return c |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getUserRoles(userid) { |
| | | queryUserRole({ userid: userid }).then((res) => { |
| | | if (res.success) { |
| | | this.$set(this.model, 'selectedroles', res.result.join(',')) |
| | | } |
| | | }) |
| | | }, |
| | | getUserDeparts(userid) { |
| | | let that = this |
| | | //é¨é¨çurl è·åé¨é¨åé
|
| | | getAction(that.url.userWithDepart, { userId: userid }).then((res) => { |
| | | if (res.success) { |
| | | let departOptions = [] |
| | | let selectDepartKeys = [] |
| | | for (let i = 0; i < res.result.length; i++) { |
| | | selectDepartKeys.push(res.result[i].key) |
| | | //æ°å¢è´è´£é¨é¨éæ©ä¸ææ¡ |
| | | departOptions.push({ |
| | | value: res.result[i].key, |
| | | label: res.result[i].title |
| | | }) |
| | | } |
| | | |
| | | this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(',')) |
| | | that.nextDepartOptions = departOptions |
| | | } |
| | | }) |
| | | |
| | | // è·å车é´åé
|
| | | getAction(that.url.userProductionList, { userId: userid }).then((res) => { |
| | | if (res.success) { |
| | | let ProductionOptions = [] |
| | | let selectProductKeys = [] |
| | | for (let i = 0; i < res.result.length; i++) { |
| | | selectProductKeys.push(res.result[i].key) |
| | | //æ°å¢è´è´£é¨é¨éæ©ä¸ææ¡ |
| | | ProductionOptions.push({ |
| | | value: res.result[i].key, |
| | | label: res.result[i].title |
| | | }) |
| | | } |
| | | |
| | | this.$set(this.model, 'selectedProduction', selectProductKeys.join(',')) |
| | | that.nextProductionOptions = ProductionOptions |
| | | } |
| | | }) |
| | | //车é´çurl |
| | | }, |
| | | backDepartInfo(info) { |
| | | this.model.departIds = this.model.selecteddeparts |
| | | this.nextDepartOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | backProductionInfo(info) { |
| | | this.model.productionIds = this.model.selectedProduction |
| | | this.nextProductionOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | |
| | | refresh() { |
| | | this.userId = '' |
| | | this.nextDepartOptions = [] |
| | | this.nextProductionOptions = [] |
| | | this.departIdShow = false |
| | | }, |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.disableSubmit = false |
| | | this.nextDepartOptions = [] |
| | | this.nextProductionOptions = [] |
| | | this.departIdShow = false |
| | | this.$refs.form.resetFields() |
| | | }, |
| | | moment, |
| | | handleSubmit() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | //妿æ¯ä¸çº§æ©ä¼ å
¥departIds,å¦å为空 |
| | | if (this.model.userIdentity !== 2) { |
| | | this.model.departIds = '' |
| | | } |
| | | let obj |
| | | if (!this.model.id) { |
| | | this.model.id = this.userId |
| | | obj = addUser(this.model) |
| | | } else { |
| | | obj = editUser(this.model) |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message) |
| | | that.$emit('ok') |
| | | } else { |
| | | that.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false |
| | | that.close() |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | validateToNextPassword(rule, value, callback) { |
| | | const confirmpassword = this.model.confirmpassword |
| | | if (value && confirmpassword && value !== confirmpassword) { |
| | | callback('两次è¾å
¥çå¯ç ä¸ä¸æ ·ï¼') |
| | | } |
| | | if (value && this.confirmDirty) { |
| | | this.$refs.form.validateField(['confirmpassword']) |
| | | } |
| | | callback() |
| | | }, |
| | | compareToFirstPassword(rule, value, callback) { |
| | | if (value && value !== this.model.password) { |
| | | callback('两次è¾å
¥çå¯ç ä¸ä¸æ ·ï¼') |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | validatePhone(rule, value, callback) { |
| | | if (!value) { |
| | | callback() |
| | | } else { |
| | | if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'phone', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('ææºå·å·²åå¨!') |
| | | } |
| | | }) |
| | | } else { |
| | | callback('请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ç !') |
| | | } |
| | | } |
| | | }, |
| | | validateEmail(rule, value, callback) { |
| | | if (!value) { |
| | | callback() |
| | | } else { |
| | | if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'email', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | console.log(res) |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('é®ç®±å·²åå¨!') |
| | | } |
| | | }) |
| | | } else { |
| | | callback('请è¾å
¥æ£ç¡®æ ¼å¼çé®ç®±!') |
| | | } |
| | | } |
| | | }, |
| | | validateUsername(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'username', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('ç¨æ·åå·²åå¨!') |
| | | } |
| | | }) |
| | | }, |
| | | validateWorkNo(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'work_no', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('å·¥å·å·²åå¨!') |
| | | } |
| | | }) |
| | | }, |
| | | handleConfirmBlur(e) { |
| | | const value = e.target.value |
| | | this.confirmDirty = this.confirmDirty || !!value |
| | | }, |
| | | beforeUpload: function(file) { |
| | | var fileType = file.type |
| | | if (fileType.indexOf('image') < 0) { |
| | | this.$message.warning('请ä¸ä¼ å¾ç') |
| | | return false |
| | | } |
| | | //TODO éªè¯æä»¶å¤§å° |
| | | }, |
| | | identityChange(e) { |
| | | if (e.target.value === 1) { |
| | | this.departIdShow = false |
| | | } else { |
| | | this.departIdShow = true |
| | | } |
| | | }, |
| | | initDictData(dictCode) { |
| | | //æ ¹æ®åå
¸Code, åå§ååå
¸æ°ç» |
| | | ajaxGetDictItems(dictCode, null).then((res) => { |
| | | if (res.success) { |
| | | const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$') |
| | | |
| | | this.validatorRules.password[0] = { |
| | | required: true, |
| | | pattern: regExp, |
| | | message: `å¯ç ç±${res.result[0].value}使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!` |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | deviceSearch() { |
| | | this.$refs.selectDeviceModal.visible = true |
| | | this.$refs.selectDeviceModal.selectedRowKeys = [] |
| | | this.$refs.selectDeviceModal.selectedRows = [] |
| | | this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : [] |
| | | }, |
| | | |
| | | /** |
| | | * 鿩已æè®¾å¤åç¹å»ç¡®å®æ¶è§¦å |
| | | * @param data 已鿩çè®¾å¤æ°ç» |
| | | */ |
| | | selectOK(data) { |
| | | console.log('data=', data) |
| | | this.$set(this.model, 'equipmentIds', data.join(',')) |
| | | tenantsOptions: [], |
| | | rolesOptions: [], |
| | | nextDepartOptions: [], |
| | | nextProductionOptions: [], |
| | | isDepartType: '', |
| | | model: { |
| | | selectedProduction: '' |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | visible: { |
| | | handler(value) { |
| | | if (value) this.initDictData('password_length') |
| | | } |
| | | }, |
| | | 'model.selectedProduction': { |
| | | handler(newVal, oldVal) { |
| | | if (newVal && this.$refs.selectDeviceModal) { |
| | | // å¦æè½¦é´éæ©ååä¸ä¸è´åéç½®éæ©è®¾å¤ |
| | | if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = '' |
| | | this.$refs.selectDeviceModal.queryTreeData(newVal) |
| | | } |
| | | // 妿æ¸
空车é´å¼åéç½®éæ©è®¾å¤ |
| | | if (newVal === '') this.model.equipmentIds = '' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | const token = Vue.ls.get(ACCESS_TOKEN) |
| | | this.headers = { 'X-Access-Token': token } |
| | | this.initRoleList() |
| | | this.initTenantList() |
| | | this.queryTreeData() |
| | | }, |
| | | computed: { |
| | | uploadAction: function () { |
| | | return this.url.fileUpload |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapActions(['QueryDepartTree']), |
| | | queryTreeData() { |
| | | this.QueryDepartTree().then(res => { |
| | | if (res.success) { |
| | | this.isDepartType = res.result[0].value |
| | | } else { |
| | | // this.$message.warn(res.message) |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | }) |
| | | }, |
| | | add() { |
| | | this.refresh() |
| | | this.edit({ |
| | | activitiSync: '1', |
| | | userType: 0, |
| | | userIdentity: 1, |
| | | selectedroles: '', |
| | | selecteddeparts: '', |
| | | selectedProduction: '' |
| | | }) |
| | | }, |
| | | edit(record) { |
| | | let that = this |
| | | that.visible = true |
| | | //æ ¹æ®å±å¹å®½åº¦èªéåºæ½å±å®½åº¦ |
| | | this.resetScreenSize() |
| | | that.userId = record.id |
| | | console.log('record', record) |
| | | that.model = Object.assign({}, record) |
| | | //身份为ä¸çº§æ¾ç¤ºè´è´£é¨é¨ï¼å¦å䏿¾ç¤º |
| | | if (this.model.userIdentity == 2) { |
| | | this.departIdShow = true |
| | | } else { |
| | | this.departIdShow = false |
| | | } |
| | | |
| | | if (record.hasOwnProperty('id')) { |
| | | that.getUserRoles(record.id) |
| | | that.getUserDeparts(record.id) |
| | | } |
| | | }, |
| | | isDisabledAuth(code) { |
| | | return disabledAuthFilter(code) |
| | | }, |
| | | //çªå£æå¤§å忢 |
| | | toggleScreen() { |
| | | if (this.modaltoggleFlag) { |
| | | this.modalWidth = window.innerWidth |
| | | } else { |
| | | this.modalWidth = 800 |
| | | } |
| | | this.modaltoggleFlag = !this.modaltoggleFlag |
| | | }, |
| | | // æ ¹æ®å±å¹åå,设置æ½å±å°ºå¯¸ |
| | | resetScreenSize() { |
| | | let screenWidth = document.body.clientWidth |
| | | if (screenWidth < 500) { |
| | | this.drawerWidth = screenWidth |
| | | } else { |
| | | this.drawerWidth = 700 |
| | | } |
| | | }, |
| | | //åå§åç§æ·åå
¸ |
| | | initTenantList() { |
| | | getAction(this.url.queryTenantList).then(res => { |
| | | if (res.success) { |
| | | this.tenantsOptions = res.result.map((item, index, arr) => { |
| | | let c = { label: item.name, value: item.id + '' } |
| | | return c |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | //åå§åè§è²åå
¸ |
| | | initRoleList() { |
| | | queryall().then((res) => { |
| | | if (res.success) { |
| | | this.rolesOptions = res.result.map((item, index, arr) => { |
| | | let c = { label: item.roleName, value: item.id } |
| | | return c |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getUserRoles(userid) { |
| | | queryUserRole({ userid: userid }).then((res) => { |
| | | if (res.success) { |
| | | this.$set(this.model, 'selectedroles', res.result.join(',')) |
| | | } |
| | | }) |
| | | }, |
| | | getUserDeparts(userid) { |
| | | let that = this |
| | | //é¨é¨çurl è·åé¨é¨åé
|
| | | getAction(that.url.userWithDepart, { userId: userid }).then((res) => { |
| | | if (res.success) { |
| | | let departOptions = [] |
| | | let selectDepartKeys = [] |
| | | for (let i = 0; i < res.result.length; i++) { |
| | | selectDepartKeys.push(res.result[i].key) |
| | | //æ°å¢è´è´£é¨é¨éæ©ä¸ææ¡ |
| | | departOptions.push({ |
| | | value: res.result[i].key, |
| | | label: res.result[i].title |
| | | }) |
| | | } |
| | | |
| | | this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(',')) |
| | | that.nextDepartOptions = departOptions |
| | | } |
| | | }) |
| | | |
| | | // è·å车é´åé
|
| | | getAction(that.url.userProductionList, { userId: userid }).then((res) => { |
| | | if (res.success) { |
| | | let ProductionOptions = [] |
| | | let selectProductKeys = [] |
| | | for (let i = 0; i < res.result.length; i++) { |
| | | selectProductKeys.push(res.result[i].key) |
| | | //æ°å¢è´è´£é¨é¨éæ©ä¸ææ¡ |
| | | ProductionOptions.push({ |
| | | value: res.result[i].key, |
| | | label: res.result[i].title |
| | | }) |
| | | } |
| | | |
| | | this.$set(this.model, 'selectedProduction', selectProductKeys.join(',')) |
| | | that.nextProductionOptions = ProductionOptions |
| | | } |
| | | }) |
| | | //车é´çurl |
| | | }, |
| | | backDepartInfo(info) { |
| | | this.model.departIds = this.model.selecteddeparts |
| | | this.nextDepartOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | backProductionInfo(info) { |
| | | this.model.productionIds = this.model.selectedProduction |
| | | this.nextProductionOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | |
| | | refresh() { |
| | | this.userId = '' |
| | | this.nextDepartOptions = [] |
| | | this.nextProductionOptions = [] |
| | | this.departIdShow = false |
| | | }, |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.disableSubmit = false |
| | | this.nextDepartOptions = [] |
| | | this.nextProductionOptions = [] |
| | | this.departIdShow = false |
| | | this.$refs.form.resetFields() |
| | | }, |
| | | moment, |
| | | handleSubmit() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | //妿æ¯ä¸çº§æ©ä¼ å
¥departIds,å¦å为空 |
| | | if (this.model.userIdentity !== 2) { |
| | | this.model.departIds = '' |
| | | } |
| | | let obj |
| | | if (!this.model.id) { |
| | | this.model.id = this.userId |
| | | obj = addUser(this.model) |
| | | } else { |
| | | obj = editUser(this.model) |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message) |
| | | that.$emit('ok') |
| | | } else { |
| | | that.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false |
| | | that.close() |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | validateToNextPassword(rule, value, callback) { |
| | | const confirmpassword = this.model.confirmpassword |
| | | if (value && confirmpassword && value !== confirmpassword) { |
| | | callback('两次è¾å
¥çå¯ç ä¸ä¸æ ·ï¼') |
| | | } |
| | | if (value && this.confirmDirty) { |
| | | this.$refs.form.validateField(['confirmpassword']) |
| | | } |
| | | callback() |
| | | }, |
| | | compareToFirstPassword(rule, value, callback) { |
| | | if (value && value !== this.model.password) { |
| | | callback('两次è¾å
¥çå¯ç ä¸ä¸æ ·ï¼') |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | validatePhone(rule, value, callback) { |
| | | if (!value) { |
| | | callback() |
| | | } else { |
| | | if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'phone', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('ææºå·å·²åå¨!') |
| | | } |
| | | }) |
| | | } else { |
| | | callback('请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ç !') |
| | | } |
| | | } |
| | | }, |
| | | validateEmail(rule, value, callback) { |
| | | if (!value) { |
| | | callback() |
| | | } else { |
| | | if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'email', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | console.log(res) |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('é®ç®±å·²åå¨!') |
| | | } |
| | | }) |
| | | } else { |
| | | callback('请è¾å
¥æ£ç¡®æ ¼å¼çé®ç®±!') |
| | | } |
| | | } |
| | | }, |
| | | validateUsername(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'username', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('ç¨æ·åå·²åå¨!') |
| | | } |
| | | }) |
| | | }, |
| | | validateWorkNo(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'sys_user', |
| | | fieldName: 'work_no', |
| | | fieldVal: value, |
| | | dataId: this.userId |
| | | } |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback() |
| | | } else { |
| | | callback('å·¥å·å·²åå¨!') |
| | | } |
| | | }) |
| | | }, |
| | | handleConfirmBlur(e) { |
| | | const value = e.target.value |
| | | this.confirmDirty = this.confirmDirty || !!value |
| | | }, |
| | | beforeUpload: function (file) { |
| | | var fileType = file.type |
| | | if (fileType.indexOf('image') < 0) { |
| | | this.$message.warning('请ä¸ä¼ å¾ç') |
| | | return false |
| | | } |
| | | //TODO éªè¯æä»¶å¤§å° |
| | | }, |
| | | identityChange(e) { |
| | | if (e.target.value === 1) { |
| | | this.departIdShow = false |
| | | } else { |
| | | this.departIdShow = true |
| | | } |
| | | }, |
| | | initDictData(dictCode) { |
| | | //æ ¹æ®åå
¸Code, åå§ååå
¸æ°ç» |
| | | ajaxGetDictItems(dictCode, null).then((res) => { |
| | | if (res.success) { |
| | | const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$') |
| | | |
| | | this.validatorRules.password[0] = { |
| | | required: true, |
| | | pattern: regExp, |
| | | message: `å¯ç ç±${res.result[0].value}使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!` |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | deviceSearch() { |
| | | this.$refs.selectDeviceModal.visible = true |
| | | this.$refs.selectDeviceModal.selectedRowKeys = [] |
| | | this.$refs.selectDeviceModal.selectedRows = [] |
| | | this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : [] |
| | | }, |
| | | |
| | | /** |
| | | * 鿩已æè®¾å¤åç¹å»ç¡®å®æ¶è§¦å |
| | | * @param data 已鿩çè®¾å¤æ°ç» |
| | | */ |
| | | selectOK(data) { |
| | | console.log('data=', data) |
| | | this.$set(this.model, 'equipmentIds', data.join(',')) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .avatar-uploader > .ant-upload { |
| | | width: 104px; |
| | | height: 104px; |
| | | } |
| | | .avatar-uploader > .ant-upload { |
| | | width: 104px; |
| | | height: 104px; |
| | | } |
| | | |
| | | .ant-upload-select-picture-card i { |
| | | font-size: 49px; |
| | | color: #999; |
| | | } |
| | | .ant-upload-select-picture-card i { |
| | | font-size: 49px; |
| | | color: #999; |
| | | } |
| | | |
| | | .ant-upload-select-picture-card .ant-upload-text { |
| | | margin-top: 8px; |
| | | color: #666; |
| | | } |
| | | .ant-upload-select-picture-card .ant-upload-text { |
| | | margin-top: 8px; |
| | | color: #666; |
| | | } |
| | | |
| | | .ant-table-tbody .ant-table-row td { |
| | | padding-top: 10px; |
| | | padding-bottom: 10px; |
| | | } |
| | | .ant-table-tbody .ant-table-row td { |
| | | padding-top: 10px; |
| | | padding-bottom: 10px; |
| | | } |
| | | |
| | | .drawer-bottom-button { |
| | | position: absolute; |
| | | bottom: -8px; |
| | | width: 100%; |
| | | border-top: 1px solid #e8e8e8; |
| | | padding: 10px 16px; |
| | | text-align: right; |
| | | left: 0; |
| | | background: #fff; |
| | | border-radius: 0 0 2px 2px; |
| | | } |
| | | .drawer-bottom-button { |
| | | position: absolute; |
| | | bottom: -8px; |
| | | width: 100%; |
| | | border-top: 1px solid #e8e8e8; |
| | | padding: 10px 16px; |
| | | text-align: right; |
| | | left: 0; |
| | | background: #fff; |
| | | border-radius: 0 0 2px 2px; |
| | | } |
| | | </style> |