From 874a19bfb2d1437d8c1465263b76553a37835964 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期二, 11 二月 2025 18:01:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue | 14 + src/views/dnc/base/modules/ProductStructure/Document/UseNcDocumentEquipmentTableList.vue | 12 src/views/mdc/base/modules/EquipmentList/UserModal.vue | 36 +++ src/views/dnc/base/ActivitiSingExamineList.vue | 2 src/views/system/SysParamsList.vue | 209 ++++++++++++++++++++ src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue | 14 + src/views/system/modules/SysParamsModal.vue | 124 ++++++++++++ src/views/dnc/base/AssignApproveUserList.vue | 2 src/views/dnc/base/NcDeviceCharactersList.vue | 2 src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue | 19 + src/views/system/modules/SysParamsModal__Style#Drawer.vue | 132 +++++++++++++ src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue | 4 12 files changed, 550 insertions(+), 20 deletions(-) diff --git a/src/views/dnc/base/ActivitiSingExamineList.vue b/src/views/dnc/base/ActivitiSingExamineList.vue index 0949d22..339f57a 100644 --- a/src/views/dnc/base/ActivitiSingExamineList.vue +++ b/src/views/dnc/base/ActivitiSingExamineList.vue @@ -134,7 +134,7 @@ width: 200, }, { - title: '鎵�灞為儴闂�', + title: '鎵�灞炶溅闂�', align: "center", dataIndex: 'departId_dictText', width: 220, diff --git a/src/views/dnc/base/AssignApproveUserList.vue b/src/views/dnc/base/AssignApproveUserList.vue index ea632f6..d91f545 100644 --- a/src/views/dnc/base/AssignApproveUserList.vue +++ b/src/views/dnc/base/AssignApproveUserList.vue @@ -134,7 +134,7 @@ width: 200, }, { - title: '鎵�灞為儴闂�', + title: '鎵�灞炶溅闂�', align: "center", dataIndex: 'departId_dictText', width: 220, diff --git a/src/views/dnc/base/NcDeviceCharactersList.vue b/src/views/dnc/base/NcDeviceCharactersList.vue index 94a3dc2..76136bf 100644 --- a/src/views/dnc/base/NcDeviceCharactersList.vue +++ b/src/views/dnc/base/NcDeviceCharactersList.vue @@ -159,7 +159,7 @@ width: 200, }, { - title: '鎵�灞為儴闂�', + title: '鎵�灞炶溅闂�', align: "center", dataIndex: 'departId_dictText', width: 220, diff --git a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue index 00fbe31..46b6c81 100644 --- a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue +++ b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue @@ -14,8 +14,8 @@ </a-form-item> </a-col> <a-col :span="24"> - <a-form-item label="鎵�灞為儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-dict-select-tag :disabled="formDisabled" type="list" v-decorator="['departId']" :trigger-change="true" dictCode="sys_department,depart_name,depart_id" placeholder="璇烽�夋嫨鎵�灞為儴闂�"/> + <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-select-equipment-production v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> </a-form-item> </a-col> <a-col :span="24"> @@ -57,10 +57,12 @@ import pick from 'lodash.pick' import JFormContainer from '@/components/jeecg/JFormContainer' import JDictSelectTag from "@/components/dict/JDictSelectTag" + import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue' export default { name: 'ActivitiSignExamineForm', components: { + JSelectEquipmentProduction, JFormContainer, JDictSelectTag, }, @@ -155,6 +157,14 @@ add () { this.edit({}); }, + backProductionInfo(info) { + // console.log(info) + this.model.productionIds = this.model.selectedProduction; + this.nextProductionOptions = info.map((item,index,arr)=>{ + let c = {label:item.text, value: item.value+""} + return c; + }) + }, edit (record) { this.form.resetFields(); this.model = Object.assign({}, record); diff --git a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue index 6d09688..203c436 100644 --- a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue +++ b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue @@ -14,8 +14,8 @@ </a-form-item> </a-col> <a-col :span="24"> - <a-form-item label="鎵�灞為儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-dict-select-tag :disabled="formDisabled" type="list" v-decorator="['departId']" :trigger-change="true" dictCode="sys_department,depart_name,depart_id" placeholder="璇烽�夋嫨鎵�灞為儴闂�"/> + <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-select-equipment-production v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> </a-form-item> </a-col> <a-col :span="24"> @@ -39,10 +39,12 @@ import pick from 'lodash.pick' import JFormContainer from '@/components/jeecg/JFormContainer' import JDictSelectTag from "@/components/dict/JDictSelectTag" + import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue' export default { name: 'AssignApproveUserForm', components: { + JSelectEquipmentProduction, JFormContainer, JDictSelectTag, }, @@ -137,6 +139,14 @@ add () { this.edit({}); }, + backProductionInfo(info) { + // console.log(info) + this.model.productionIds = this.model.selectedProduction; + this.nextProductionOptions = info.map((item,index,arr)=>{ + let c = {label:item.text, value: item.value+""} + return c; + }) + }, edit (record) { this.form.resetFields(); this.model = Object.assign({}, record); diff --git a/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue b/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue index 5b707e6..1cffefd 100644 --- a/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue +++ b/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue @@ -14,8 +14,9 @@ </a-form-item> </a-col> <a-col :span="24"> - <a-form-item label="鎵�灞為儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-dict-select-tag type="list" v-decorator="['departId']" :trigger-change="true" dictCode="sys_department,depart_name,depart_id" placeholder="璇烽�夋嫨鎵�灞為儴闂�"/> + <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> +<!-- <j-dict-select-tag type="list" v-decorator="['departId']" :trigger-change="true" dictCode="sys_department,depart_name,depart_id" placeholder="璇烽�夋嫨鎵�灞為儴闂�"/>--> + <j-select-equipment-production v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> </a-form-item> </a-col> <a-col :span="24"> @@ -43,10 +44,14 @@ import pick from 'lodash.pick' import JFormContainer from '@/components/jeecg/JFormContainer' import JDictSelectTag from "@/components/dict/JDictSelectTag" + import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue' + import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue' export default { name: 'NcDeviceCharactersForm', components: { + JSelectEquipmentProduction, + JSelectProduction, JFormContainer, JDictSelectTag, }, @@ -91,7 +96,7 @@ }, departId: { rules: [ - { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'}, + { required: true, message: '璇烽�夋嫨鎵�灞炶溅闂�!'}, ] }, controlSystem: { @@ -139,6 +144,14 @@ add () { this.edit({}); }, + backProductionInfo(info) { + // console.log(info) + this.model.productionIds = this.model.selectedProduction; + this.nextProductionOptions = info.map((item,index,arr)=>{ + let c = {label:item.text, value: item.value+""} + return c; + }) + }, edit (record) { this.form.resetFields(); this.model = Object.assign({}, record); diff --git a/src/views/dnc/base/modules/ProductStructure/Document/UseNcDocumentEquipmentTableList.vue b/src/views/dnc/base/modules/ProductStructure/Document/UseNcDocumentEquipmentTableList.vue index e5f323b..12d9b4c 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/UseNcDocumentEquipmentTableList.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/UseNcDocumentEquipmentTableList.vue @@ -34,12 +34,12 @@ return parseInt(index) + 1 } }, - { title: '璁惧鍚嶇О', dataIndex: 'deviceName', align: 'center' }, - { title: '璁惧缂栧彿', dataIndex: 'deviceNo', align: 'center' }, - { title: '璁惧鍨嬪彿', dataIndex: 'deviceModel', align: 'center' }, - { title: '鎵�灞為儴闂�', dataIndex: 'departName', align: 'center' }, - { title: '璁惧鍒嗙粍', dataIndex: 'groupName', align: 'center' }, - { title: '鎺у埗绯荤粺', dataIndex: 'controlSystem', align: 'center' } + { title: '璁惧鍚嶇О', dataIndex: 'equipmentName', align: 'center' }, + { title: '璁惧缂栧彿', dataIndex: 'equipmentId', align: 'center' }, + { title: '璁惧绫诲瀷', dataIndex: 'equipmentType', align: 'center' }, + { title: '璁惧鍨嬪彿', dataIndex: 'equipmentModel', align: 'center' }, + { title: '鎵�灞炶溅闂�', dataIndex: 'productionName', align: 'center' }, + { title: '鏁版帶绯荤粺', dataIndex: 'controlSystem', align: 'center' } ], url: { list: '/doc/relative/get/device' diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue index eafac45..5dd7f57 100644 --- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue +++ b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue @@ -41,8 +41,8 @@ <a-col :span="24" > <a-form-item label="瀹℃壒鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-select placeholder="瀹℃壒鐘舵��"> - <a-select-option v-if="isAgreed" value="1">鍚屾剰</a-select-option> - <a-select-option v-if="!isAgreed" value="2">鎷掔粷</a-select-option> + <a-select-option v-if="isAgreed" value="2">鍚屾剰</a-select-option> + <a-select-option v-if="!isAgreed" value="3">鎷掔粷</a-select-option> </a-select> <!-- <j-dict-select-tag placeholder="璇烽�夋嫨瀹℃壒鐘舵��" style="width:100%" :trigger-change="true" v-decorator="['status', validatorRules.status]" dictCode="dnc_assign_stream_status"/>--> </a-form-item> diff --git a/src/views/mdc/base/modules/EquipmentList/UserModal.vue b/src/views/mdc/base/modules/EquipmentList/UserModal.vue index 802ba97..449364a 100644 --- a/src/views/mdc/base/modules/EquipmentList/UserModal.vue +++ b/src/views/mdc/base/modules/EquipmentList/UserModal.vue @@ -143,6 +143,19 @@ </a-col> </a-row> + <a-row :gutter="24" v-if="systemType"> + <a-col :span='24'> + <a-form-model-item label="绯荤粺绫诲瀷" :labelCol="{span:3}" :wrapperCol="{span:21}"> + <a-radio-group name="radioGroup" v-model="systemValue"> + <a-radio value="1">DNC</a-radio> + <a-radio value="2">MDC</a-radio> + <a-radio value="3">閫氱敤</a-radio> + </a-radio-group> + </a-form-model-item> + </a-col> + </a-row> + + <a-row :gutter="24"> <a-col :span='12'> <a-form-model-item v-if="isDepartType == 0" label="绯荤粺鐗堟湰鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol"> @@ -246,7 +259,9 @@ driveType: "", systemType: "", deviceLevel: "", - deviceCategory: "" + deviceCategory: "", + deviceTypeDnc:"", + deviceTypeMdc:"", }, labelCol: { xs: { span: 24 }, @@ -259,6 +274,8 @@ uploadLoading:false, confirmLoading: false, headers:{}, + systemType:false, + systemValue:"3", url: { fileUpload: window._CONFIG['domianURL']+"/sys/common/upload", userWithDepart: "/mdc/mdcEquipment/equipmentDepartList", // 寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬮儴闂ㄤ俊鎭渶瑕佺殑url @@ -283,6 +300,7 @@ this.headers = {"X-Access-Token":token} this.queryGroup() this.queryTreeData() + this.getAppPlatformName(); // this.initRoleList() // this.initTenantList() }, @@ -305,6 +323,13 @@ }); } }).finally(() =>{ + }) + }, + getAppPlatformName(){ + getAction(`/system/sysParams/query/by/settingKey?settingKey=system_type`).then(res=>{ + if(res.success){ + this.systemType = res.result.settingValue === '0'; + } }) }, queryGroup() { @@ -356,13 +381,18 @@ // that.userId = record.id; // console.log(record) + if (record.systemValue!=null){ + this.systemValue=record.systemValue; + }else { + this.systemValue="3" + } that.model = Object.assign({}, record); // that.model = Object.assign({},{selectedroles:'',selectedProduction:''}, record); // this.model = Object.assign({}, record) this.$nextTick(() => { this.form.setFieldsValue(pick(that.model, 'selectedDeparts', 'selectedProduction', 'equipmentId', 'equipmentName', 'equipmentModel', 'equipmentType', 'equipmentIp', 'dataPort', - 'driveType', 'sortNo', 'remark','systemVersion','devicePower','controlSystem','saveTableName')) + 'driveType', 'sortNo', 'remark','systemVersion','devicePower','controlSystem','saveTableName','systemValue')) }) if(record.hasOwnProperty("id")){ // that.getUserRoles(record.id); @@ -485,8 +515,10 @@ let obj; if(!this.model.id){ this.model.id = this.userId; + this.model.systemValue=this.systemValue; obj=addEquipment(this.model); }else{ + this.model.systemValue=this.systemValue; obj=editEquipment(this.model,{ id: this.model.id }); diff --git a/src/views/system/SysParamsList.vue b/src/views/system/SysParamsList.vue new file mode 100644 index 0000000..bd96473 --- /dev/null +++ b/src/views/system/SysParamsList.vue @@ -0,0 +1,209 @@ +<template> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鍙傛暟鍚嶇О"> + <a-input placeholder="璇疯緭鍏ュ弬鏁板悕绉�" v-model="queryParam.settingName"/> + </a-form-item> + </a-col> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + </span> + </a-col> + </a-row> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <!-- <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('绯荤粺鍙傛暟琛�')">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import">瀵煎叆</a-button> + </a-upload> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> + </div> --> + + <!-- table鍖哄煙-begin --> + <div> + <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> --> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + class="j-table-force-nowrap" + @change="handleTableChange"> + <span slot="rowIndex" slot-scope="text, record, index"> + {{(ipagination.current-1)*ipagination.pageSize+index+1}} + </span> + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="uploadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + + <!-- <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> --> + <template> + <!-- <div v-if="record.settingValue=='OPEN'"> + <a-switch @click="edit(record)" checked-children="寮�" un-checked-children="鍏�" default-checked /> + </div> + <div v-else> + <a-switch @click="edit(record)" checked-children="寮�" un-checked-children="鍏�" /> + </div> --> + </template> + </span> + + + </a-table> + </div> + + <sysParams-modal ref="modalForm" @ok="modalFormOk"></sysParams-modal> + </a-card> +</template> + +<script> + + import { httpAction } from '@/api/manage' + import '@/assets/less/TableExpand.less' + import { mixinDevice } from '@/utils/mixin' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import SysParamsModal from './modules/SysParamsModal' + import JDictSelectTag from '../../components/dict/JDictSelectTag.vue' + + export default { + name: "SysParamsList", + mixins:[JeecgListMixin, mixinDevice], + components: { + JDictSelectTag, + SysParamsModal, + }, + data () { + return { + description: '绯荤粺鍙傛暟琛ㄧ鐞嗛〉闈�', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + scopedSlots: { customRender: 'rowIndex' } + }, + { + title:'鍙傛暟鍚嶇О', + align:"center", + dataIndex: 'settingName' + }, + { + title:'鍙傛暟閿�', + align:"center", + dataIndex: 'settingKey' + }, + { + title:'鍙傛暟鍊�', + align:"center", + dataIndex: 'settingValue' + }, + { + title:'澶囨敞', + align:"center", + dataIndex: 'remark' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + // fixed:"right", + width:147, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: "/system/sysParams/list", + delete: "/system/sysParams/delete", + deleteBatch: "/system/sysParams/deleteBatch", + exportXlsUrl: "/system/sysParams/exportXls", + importExcelUrl: "system/sysParams/importExcel", + edit: "/system/sysParams/edit", + }, + dictOptions:{}, + } + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + }, + }, + methods: { + initDictConfig(){ + }, + edit(sysParams) { + if(sysParams.settingValue == "CLOSE"){ + sysParams.settingValue = "OPEN"; + }else{ + sysParams.settingValue = "CLOSE"; + } + const that = this; + httpAction("/system/sysParams/edit",sysParams,'put').then((res)=>{ + if(res.success){ + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + }, + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/system/modules/SysParamsModal.vue b/src/views/system/modules/SysParamsModal.vue new file mode 100644 index 0000000..aacd358 --- /dev/null +++ b/src/views/system/modules/SysParamsModal.vue @@ -0,0 +1,124 @@ +<template> + <j-modal + :title="title" + :width="width" + :visible="visible" + :confirmLoading="confirmLoading" + switchFullscreen + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + + <a-form-item label="鍙傛暟閿�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input disabled v-decorator="['settingKey']" placeholder="璇疯緭鍏ュ弬鏁伴敭"></a-input> + </a-form-item> + <a-form-item label="鍙傛暟鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input v-decorator="['settingValue']" placeholder="璇疯緭鍏ュ弬鏁板��"></a-input> + </a-form-item> + <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-textarea disabled v-decorator="['remark']" rows="4" placeholder="璇疯緭鍏ュ娉�"/> + </a-form-item> + + </a-form> + </a-spin> + </j-modal> +</template> + +<script> + + import { httpAction } from '@/api/manage' + import pick from 'lodash.pick' + import { validateDuplicateValue } from '@/utils/util' + + + export default { + name: "SysParamsModal", + components: { + }, + data () { + return { + form: this.$form.createForm(this), + title:"鎿嶄綔", + width:800, + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + }, + url: { + add: "/system/sysParams/add", + edit: "/system/sysParams/edit", + } + } + }, + created () { + }, + methods: { + add () { + this.edit({}); + }, + edit (record) { + this.form.resetFields(); + this.model = Object.assign({}, record); + this.visible = true; + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model,'settingKey','settingValue','remark')) + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + let formData = Object.assign(this.model, values); + console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) + httpAction(httpurl,formData,method).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(); + }) + } + + }) + }, + handleCancel () { + this.close() + }, + popupCallback(row){ + this.form.setFieldsValue(pick(row,'settingKey','settingValue','remark')) + }, + + + } + } +</script> \ No newline at end of file diff --git "a/src/views/system/modules/SysParamsModal__Style\043Drawer.vue" "b/src/views/system/modules/SysParamsModal__Style\043Drawer.vue" new file mode 100644 index 0000000..f7a7501 --- /dev/null +++ "b/src/views/system/modules/SysParamsModal__Style\043Drawer.vue" @@ -0,0 +1,132 @@ +<template> + <a-drawer + :title="title" + :width="width" + placement="right" + :closable="false" + @close="close" + :visible="visible"> + + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + + <a-form-item label="鍙傛暟閿�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input v-decorator="['settingKey']" placeholder="璇疯緭鍏ュ弬鏁伴敭"></a-input> + </a-form-item> + <a-form-item label="鍙傛暟鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input v-decorator="['settingValue']" placeholder="璇疯緭鍏ュ弬鏁板��"></a-input> + </a-form-item> + <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input v-decorator="['remark']" placeholder="璇疯緭鍏ュ娉�"></a-input> + </a-form-item> + + </a-form> + </a-spin> + <a-button type="primary" @click="handleOk">纭畾</a-button> + <a-button type="primary" @click="handleCancel">鍙栨秷</a-button> + </a-drawer> +</template> + +<script> + + import { httpAction } from '@/api/manage' + import pick from 'lodash.pick' + import { validateDuplicateValue } from '@/utils/util' + + export default { + name: "SysParamsModal", + components: { + }, + data () { + return { + form: this.$form.createForm(this), + title:"鎿嶄綔", + width:800, + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + }, + url: { + add: "/system/sysParams/add", + edit: "/system/sysParams/edit", + } + } + }, + created () { + }, + methods: { + add () { + this.edit({}); + }, + edit (record) { + this.form.resetFields(); + this.model = Object.assign({}, record); + this.visible = true; + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model,'settingKey','settingValue','remark')) + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + let formData = Object.assign(this.model, values); + console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) + httpAction(httpurl,formData,method).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(); + }) + } + + }) + }, + handleCancel () { + this.close() + }, + popupCallback(row){ + this.form.setFieldsValue(pick(row,'settingKey','settingValue','remark')) + } + + } + } +</script> + +<style lang="less" scoped> +/** Button鎸夐挳闂磋窛 */ + .ant-btn { + margin-left: 30px; + margin-bottom: 30px; + float: right; + } +</style> \ No newline at end of file -- Gitblit v1.9.3