yuanliang 1 年之前
父节点
当前提交
c162ec81d3

+ 21 - 0
src/views/message/api.ts

@@ -11,6 +11,27 @@ export const sysMessageConfigPage = (params: object) => {
   } as any)
 }
 
+/**
+ * @description: 消息模板修改
+ */
+export const sysMessageConfigUpdate= (params: object) => {
+  return request({
+    url: '/cbs-app/sysMessageConfig/update',
+    method: 'post',
+    data: params
+  } as any)
+}
+
+/**
+ * @description: 消息模板新增
+ */
+export const sysMessageConfigSave = (params: object) => {
+  return request({
+    url: '/cbs-app/sysMessageConfig/save',
+    method: 'post',
+    data: params
+  } as any)
+}
 
 /**
  * @description: 消息模板启用/停用

+ 19 - 15
src/views/message/message-template/message-template-list.tsx

@@ -7,8 +7,8 @@ import {getMapValueByKey, getSelectDataFromObj} from '@/utils/objectUtil'
 import {clientType, messageSenderFunctionModule, messageSenderMode} from '@/utils/constant'
 import {sysMessageConfigPage, sysMessageConfigStatus} from "@views/message/api";
 import deepClone from "@/utils/deep.clone";
-import SmsConfigEdit from "@views/message/message-config/sms/modal/sms-config-edit";
-import MessageTemplateEdit from "@views/message/message-template/modal/message-template-edit";
+import MessageTemplateEdit from '@views/message/message-template/modal/message-template-edit';
+
 
 export default defineComponent({
   name: 'message-template-list',
@@ -152,6 +152,10 @@ export default defineComponent({
           key: 'triggerCondition'
         },
         {
+          title: '参数',
+          key: 'params'
+        },
+        {
           title: '消息模板',
           key: 'content',
           minWidth: '200px',
@@ -203,18 +207,18 @@ export default defineComponent({
                   >
                     {row.sendFlag ? '停用' : '启用'}
                   </NButton>
-                  <NButton
-                      type="primary"
-                      size="small"
-                      text
-                      onClick={() => {
-                        state.showEdit = true
-                        state.editRowData = deepClone(row)
-                        state.editMode = 'edit'
-                      }}
-                  >
-                    修改
-                  </NButton>
+                  {/*<NButton*/}
+                  {/*    type="primary"*/}
+                  {/*    size="small"*/}
+                  {/*    text*/}
+                  {/*    onClick={() => {*/}
+                  {/*      state.showEdit = true*/}
+                  {/*      state.editRowData = deepClone(row)*/}
+                  {/*      state.editMode = 'edit'*/}
+                  {/*    }}*/}
+                  {/*>*/}
+                  {/*  修改*/}
+                  {/*</NButton>*/}
                 </NSpace>
             )
           }
@@ -318,7 +322,7 @@ export default defineComponent({
                 v-model:show={state.showEdit}
                 preset="dialog"
                 showIcon={false}
-                title={(state.editMode == 'add' ? '新增' : '编辑') + '短信平台'}
+                title={(state.editMode == 'add' ? '新增' : '编辑') + '消息模板'}
                 // style={{width: 'auto'}}
                 style={{width: '700px'}}
             >

+ 63 - 74
src/views/message/message-template/modal/message-template-edit.tsx

@@ -1,6 +1,8 @@
 import {defineComponent, onMounted, reactive, ref} from "vue";
-import {NButton, NForm, NFormItemGi, NGrid, NInput, NSpace, useMessage} from "naive-ui";
-import {smsConfigSave, smsConfigUpdate} from "@views/message/api";
+import {NButton, NForm, NFormItemGi, NGrid, NInput, NSelect, NSpace, useMessage} from "naive-ui";
+import {smsConfigSave, smsConfigUpdate, sysMessageConfigSave, sysMessageConfigUpdate} from "@views/message/api";
+import {getSelectDataFromObj} from "@/utils/objectUtil";
+import {clientType, messageSenderFunctionModule} from "@/utils/constant";
 
 export default defineComponent({
   name: 'message-template-edit',
@@ -19,13 +21,13 @@ export default defineComponent({
     const message = useMessage()
     const btnLoading = ref(false)
     const forms = reactive({
-      name: null,
-      sender: null,
-      accessUrl: null,
-      account: null,
-      password: null,
-      extendData: null,
-      appId: null,
+      clientId: null,
+      content: null,
+      contentExample: null,
+      description: null,
+      group: null,
+      params: null,
+      triggerCondition: null,
     })
     const formsRef = ref()
 
@@ -37,13 +39,13 @@ export default defineComponent({
     onMounted(async () => {
       state.rowData = props.rowData
       if (props.editMode == 'edit' && props.rowData) {
-        forms.name = state.rowData.name
-        forms.sender = state.rowData.sender
-        forms.accessUrl = state.rowData.accessUrl
-        forms.account = state.rowData.account
-        forms.password = state.rowData.password
-        forms.extendData = state.rowData.extendData
-        forms.appId = state.rowData.appId
+        forms.clientId = state.rowData.clientId
+        forms.content = state.rowData.content
+        forms.contentExample = state.rowData.contentExample
+        forms.description = state.rowData.description
+        forms.group = state.rowData.group
+        forms.params = state.rowData.params
+        forms.triggerCondition = state.rowData.triggerCondition
       }
     })
 
@@ -54,13 +56,13 @@ export default defineComponent({
         try {
           let res;
           if (props.editMode == 'add') {
-            res = await smsConfigSave(
+            res = await sysMessageConfigSave(
                 {
                   ...forms,
                 }
             ) as any;
           } else {
-            res = await smsConfigUpdate(
+            res = await sysMessageConfigUpdate(
                 {
                   ...forms,
                   id: state.rowData.id
@@ -89,118 +91,105 @@ export default defineComponent({
             >
               <NGrid cols={2}>
                 <NFormItemGi
-                    label="平台名称"
-                    path="name"
+                    label="客户端"
+                    path="clientId"
                     rule={[
                       {
-                        required: true,
-                        message: '请输入平台名称'
-                      }
-                    ]}
-                >
-                  <NInput
-                      v-model:value={forms.name}
-                      placeholder="请输入平台名称"
-                      clearable
-                  />
-                </NFormItemGi>
-                <NFormItemGi
-                    label="平台标识"
-                    path="sender"
-                    rule={[
-                      {
-                        required: true,
-                        message: '请输入平台标识'
+                        required: false,
+                        message: '请选择客户端'
                       }
                     ]}
                 >
-                  <NInput
-                      v-model:value={forms.sender}
-                      placeholder="请输入平台标识"
-                      clearable
+                  <NSelect
+                      placeholder="请选择客户端"
+                      v-model:value={forms.clientId}
+                      options={getSelectDataFromObj(clientType)}
+                      filterable
                   />
                 </NFormItemGi>
                 <NFormItemGi
-                    label="接入地址"
-                    path="accessUrl"
+                    label="功能模块"
+                    path="group"
                     rule={[
                       {
                         required: true,
-                        message: '请输入接入地址'
+                        message: '请选择功能模块'
                       }
                     ]}
                 >
-                  <NInput
-                      v-model:value={forms.accessUrl}
-                      placeholder="请输入接入地址"
-                      clearable
+                  <NSelect
+                      placeholder="请选择功能模块"
+                      v-model:value={forms.group}
+                      options={getSelectDataFromObj(messageSenderFunctionModule)}
+                      filterable
                   />
                 </NFormItemGi>
                 <NFormItemGi
-                    label="应用ID"
-                    path="appId"
+                    label="参数"
+                    path="params"
                     rule={[
                       {
                         required: false,
-                        message: '请输入应用ID'
+                        message: '请输入参数'
                       }
                     ]}
                 >
                   <NInput
-                      v-model:value={forms.appId}
-                      placeholder="请输入应用ID"
+                      v-model:value={forms.params}
+                      placeholder="请输入参数"
                       clearable
                   />
                 </NFormItemGi>
                 <NFormItemGi
-                    label="接入账号"
-                    path="account"
+                    label="触发条件"
+                    path="triggerCondition"
                     rule={[
                       {
-                        required: true,
-                        message: '请输入接入账号'
+                        required: false,
+                        message: '请输入触发条件'
                       }
                     ]}
                 >
                   <NInput
-                      v-model:value={forms.account}
-                      placeholder="请输入接入账号"
+                      v-model:value={forms.triggerCondition}
+                      placeholder="请输入触发条件"
                       clearable
                   />
                 </NFormItemGi>
+              </NGrid>
+              <NGrid cols={1}>
                 <NFormItemGi
-                    label="接入密码"
-                    path="password"
+                    label="消息内容"
+                    path="content"
                     rule={[
                       {
                         required: true,
-                        message: '请输入接入密码'
+                        message: '请输入消息内容'
                       }
                     ]}
                 >
                   <NInput
-                      v-model:value={forms.password}
-                      placeholder="请输入接入密码"
-                      clearable
+                      v-model:value={forms.content}
+                      placeholder="请输入消息内容"
+                      type={'textarea'}
+                      autosize={{minRows: 3}}
                   />
                 </NFormItemGi>
-              </NGrid>
-              <NGrid cols={1}>
                 <NFormItemGi
-                    label="拓展参数"
-                    path="extendData"
+                    label="消息内容示例"
+                    path="contentExample"
                     rule={[
                       {
                         required: false,
-                        message: '请输入拓展参数'
+                        message: '请输入消息内容示例'
                       }
                     ]}
                 >
                   <NInput
-                      v-model:value={forms.extendData}
-                      placeholder="请输入拓展参数"
-                      autosize={{minRows: 3}}
+                      v-model:value={forms.contentExample}
+                      placeholder="请输入消息内容示例"
                       type={'textarea'}
+                      autosize={{minRows: 3}}
                   />
                 </NFormItemGi>
               </NGrid>