yuanliang 1 år sedan
förälder
incheckning
313d695139

+ 2 - 1
src/views/message/message-config/push/modal/push-config-edit.tsx

@@ -271,6 +271,8 @@ export default defineComponent({
                       clearable
                   />
                 </NFormItemGi>
+              </NGrid>
+              <NGrid cols={1}>
                 <NFormItemGi
                     label="拓展参数"
                     path="extendData"
@@ -286,7 +288,6 @@ export default defineComponent({
                       placeholder="请输入拓展参数"
                       autosize={{minRows: 3}}
                       type={'textarea'}
-                      clearable
                   />
                 </NFormItemGi>
               </NGrid>

+ 48 - 2
src/views/message/message-config/wechat/modal/wechat-config-edit.tsx

@@ -1,5 +1,5 @@
 import {defineComponent, onMounted, reactive, ref} from "vue";
-import {NButton, NForm, NFormItem, NFormItemGi, NGrid, NInput, NSpace, useMessage} from "naive-ui";
+import {NButton, NForm, NFormItem, NFormItemGi, NGrid, NInput, NSelect, NSpace, useMessage} from "naive-ui";
 import {musicSheetApplicationExtendUpdate, smsConfigSave, smsConfigUpdate, wxConfigInfoSave, wxConfigInfoUpdate} from "@views/music-library/api";
 
 export default defineComponent({
@@ -13,9 +13,15 @@ export default defineComponent({
       type: Object,
       required: false
     },
+    appData: {
+      type: Array as any,
+      required: true
+    }
   },
   emits: ['close', 'getList'],
   setup(props, {slots, attrs, emit}) {
+
+
     const message = useMessage()
     const btnLoading = ref(false)
     const forms = reactive({
@@ -24,6 +30,8 @@ export default defineComponent({
       secret: null, //接入密钥
       token: null, //消息密钥
       aeskey: null, //加密模式密钥
+      appKey: null, //应用
+      content: null, //关注公众号提示信息
     })
     const formsRef = ref()
 
@@ -35,10 +43,12 @@ export default defineComponent({
       state.rowData = props.rowData
       if (props.editMode == 'edit' && props.rowData) {
         forms.mpName = state.rowData.mpName
-        forms.appid = state.rowData.sender
+        forms.appid = state.rowData.appid
         forms.secret = state.rowData.secret
         forms.token = state.rowData.token
         forms.aeskey = state.rowData.aeskey
+        forms.appKey = state.rowData.appKey
+        forms.content = state.rowData.content
       }
     })
 
@@ -163,6 +173,42 @@ export default defineComponent({
                       clearable
                   />
                 </NFormItemGi>
+                <NFormItemGi
+                    label="应用"
+                    path="appKey"
+                    rule={[
+                      {
+                        required: true,
+                        message: '请选择应用'
+                      }
+                    ]}
+                >
+                  <NSelect
+                      placeholder="请选择应用"
+                      v-model:value={forms.appKey}
+                      options={props.appData}
+                      clearable
+                  />
+                </NFormItemGi>
+              </NGrid>
+              <NGrid cols={1}>
+                <NFormItemGi
+                    label="关注公众号提示信息"
+                    path="content"
+                    rule={[
+                      {
+                        required: true,
+                        message: '关注公众号提示信息'
+                      }
+                    ]}
+                >
+                  <NInput
+                      type={'textarea'}
+                      v-model:value={forms.content}
+                      placeholder="关注公众号提示信息"
+                      clearable
+                  />
+                </NFormItemGi>
               </NGrid>
             </NForm>
 

+ 79 - 10
src/views/message/message-config/wechat/modal/wechat-config-template-edit.tsx

@@ -5,6 +5,10 @@ import {musicSheetApplicationExtendUpdate, smsConfigSave, smsConfigUpdate, wxCon
 export default defineComponent({
   mpName: 'wechat-config-template-edit',
   props: {
+    appid: {
+      type: String,
+      required: true
+    },
     editMode: {
       type: String,
       required: true
@@ -20,8 +24,13 @@ export default defineComponent({
     const btnLoading = ref(false)
     const forms = reactive({
       wxTemplateId: null, //微信模板id
+      command: null, //指令
       url: null, //模板消息地址
       description: null, //描述
+      content: {
+        content: null,
+        title: null,
+      } as any
     })
     const formsRef = ref()
 
@@ -32,9 +41,14 @@ export default defineComponent({
     onMounted(async () => {
       state.rowData = props.rowData
       if (props.editMode == 'edit' && props.rowData) {
+        forms.command = state.rowData.command
         forms.wxTemplateId = state.rowData.wxTemplateId
         forms.url = state.rowData.url
         forms.description = state.rowData.description
+        if (state.rowData.content) {
+          forms.content.content = state.rowData.content.content
+          forms.content.title = state.rowData.content.title
+        }
       }
     })
 
@@ -48,13 +62,15 @@ export default defineComponent({
             res = await wxTemplateConfigSave(
                 {
                   ...forms,
+                  appid: props.appid
                 }
             ) as any;
           } else {
             res = await wxTemplateConfigUpdate(
                 {
                   ...forms,
-                  id: state.rowData.id
+                  id: state.rowData.id,
+                  appid: props.appid
                 }
             ) as any;
           }
@@ -80,40 +96,92 @@ export default defineComponent({
             >
               <NGrid cols={2}>
                 <NFormItemGi
-                    label="微信模板ID"
-                    path="mpName"
+                    label="标题"
+                    path="content.title"
                     rule={[
                       {
                         required: true,
-                        message: '请输入微信模板ID'
+                        message: '请输入标题'
+                      }
+                    ]}
+                >
+                  <NInput
+                      v-model:value={forms.content.title}
+                      placeholder="请输入标题"
+                      clearable
+                  />
+                </NFormItemGi>
+                <NFormItemGi
+                    label="指令"
+                    path="command"
+                    rule={[
+                      {
+                        required: true,
+                        message: '请输入指令'
+                      }
+                    ]}
+                >
+                  <NInput
+                      v-model:value={forms.command}
+                      placeholder="请输入指令"
+                      clearable
+                  />
+                </NFormItemGi>
+                <NFormItemGi
+                    label="模板ID"
+                    path="wxTemplateId"
+                    rule={[
+                      {
+                        required: true,
+                        message: '请输入模板ID'
                       }
                     ]}
                 >
                   <NInput
                       v-model:value={forms.wxTemplateId}
-                      placeholder="请输入微信模板ID"
+                      placeholder="请输入模板ID"
                       clearable
                   />
                 </NFormItemGi>
                 <NFormItemGi
-                    label="模板消息地址"
+                    label="模板地址"
                     path="appid"
                     rule={[
                       {
-                        required: true,
-                        message: '请输入模板消息地址'
+                        required: false,
+                        message: '请输入模板地址'
                       }
                     ]}
                 >
                   <NInput
                       v-model:value={forms.url}
-                      placeholder="请输入模板消息地址"
+                      placeholder="请输入模板地址"
+                      clearable
+                  />
+                </NFormItemGi>
+
+              </NGrid>
+              <NGrid cols={1}>
+                <NFormItemGi
+                    label="内容"
+                    path="content.content"
+                    rule={[
+                      {
+                        required: true,
+                        message: '请输入内容'
+                      }
+                    ]}
+                >
+                  <NInput
+                      type={'textarea'}
+                      v-model:value={forms.content.content}
+                      placeholder="请输入内容"
                       clearable
                   />
                 </NFormItemGi>
                 <NFormItemGi
                     label="描述"
-                    path="secret"
+                    path="description"
                     rule={[
                       {
                         required: false,
@@ -122,6 +190,7 @@ export default defineComponent({
                     ]}
                 >
                   <NInput
+                      type={'textarea'}
                       v-model:value={forms.description}
                       placeholder="请输入描述"
                       clearable

+ 28 - 17
src/views/message/message-config/wechat/wechat-config-template.tsx

@@ -19,6 +19,7 @@ import PushConfigEdit from "@views/message/message-config/push/modal/push-config
 import deepClone from "@/utils/deep.clone";
 import WechatConfigEdit from "@views/message/message-config/wechat/modal/wechat-config-edit";
 import WechatConfigTemplateEdit from "@views/message/message-config/wechat/modal/wechat-config-template-edit";
+import TheTooltip from "@components/TheTooltip";
 
 export default defineComponent({
   name: 'wechat-config-template',
@@ -44,6 +45,7 @@ export default defineComponent({
       editMode: 'add',
       editRowData: {} as any,
       wxConfigAppId: null as any,
+      appid: null as any,
     })
     const tabsViewStore = useTabsViewStore()
     const gotoBack = () => {
@@ -54,7 +56,7 @@ export default defineComponent({
     }
 
     onMounted(async () => {
-      console.log('----------',route.query)
+      console.log('----------', route.query)
       state.wxConfigAppId = route.query;
       if (!route.query) {
         return
@@ -62,6 +64,7 @@ export default defineComponent({
       {
         const {data} = await wxConfigInfoDetail(route.query)
         if (data) {
+          state.appid = data.appid
           state.mpName = data.mpName
           state.wxConfigAppId = data.appid
         } else {
@@ -161,8 +164,15 @@ export default defineComponent({
           key: 'url'
         },
         {
-          title: '描述',
-          key: 'description'
+          title: '标题',
+          key: 'content.title'
+        },
+        {
+          title: '内容',
+          key: 'content.content',
+          render(row: any) {
+            return <TheTooltip content={row.content.content}/>
+          }
         },
         {
           title: '状态',
@@ -180,19 +190,19 @@ export default defineComponent({
           render(row: any) {
             return (
                 <NSpace>
-                  <NButton
-                      type="primary"
-                      size="small"
-                      text
-                      onClick={() => {
-                        router.push({
-                          path: '/message/wxTemplateMessage',
-                          query: row.id
-                        })
-                      }}
-                  >
-                    消息内容配置
-                  </NButton>
+                  {/*<NButton*/}
+                  {/*    type="primary"*/}
+                  {/*    size="small"*/}
+                  {/*    text*/}
+                  {/*    onClick={() => {*/}
+                  {/*      router.push({*/}
+                  {/*        path: '/message/wxTemplateMessage',*/}
+                  {/*        query: row.id*/}
+                  {/*      })*/}
+                  {/*    }}*/}
+                  {/*>*/}
+                  {/*  消息内容配置*/}
+                  {/*</NButton>*/}
                   <NButton
                       type="primary"
                       size="small"
@@ -250,7 +260,7 @@ export default defineComponent({
               >
                 <NFormItem label="关键字" path="keyword">
                   <NInput
-                      placeholder="平台编号/名称"
+                      placeholder="编号"
                       v-model:value={state.searchForm.keyword}
                       clearable
                   />
@@ -325,6 +335,7 @@ export default defineComponent({
                   style={{width: 'auto'}}
               >
                 <WechatConfigTemplateEdit
+                    appid = {state.appid}
                     editMode={state.editMode}
                     rowData={state.editRowData}
                     style={{width: '450'}}

+ 36 - 2
src/views/message/message-config/wechat/wechat-config.tsx

@@ -4,10 +4,13 @@ import {useRoute, useRouter} from 'vue-router'
 import {useTabsViewStore} from '@/store/modules/tabsView'
 import SaveForm from "@components/save-form";
 import Pagination from "@components/pagination";
-import {appSendConfigPage, smsConfigDetail, smsConfigRemove, smsConfigStatus, wxConfigInfoPage, wxConfigInfoStatus} from "@views/music-library/api";
+import {appSendConfigPage, smsConfigDetail, smsConfigRemove, smsConfigStatus, wxConfigInfoPage, wxConfigInfoRemove, wxConfigInfoStatus} from "@views/music-library/api";
 import PushConfigEdit from "@views/message/message-config/push/modal/push-config-edit";
 import deepClone from "@/utils/deep.clone";
 import WechatConfigEdit from "@views/message/message-config/wechat/modal/wechat-config-edit";
+import {sysApplicationPage} from "@views/menu-manage/api";
+import {getMapValueByKey} from "@/utils/objectUtil";
+import {appKey} from "@/utils/constant";
 
 export default defineComponent({
   name: 'wechat-config',
@@ -26,6 +29,7 @@ export default defineComponent({
       },
       searchForm: {
         keyword: null, //关键字
+        appKey: null, //应用
         status: null // 状态
       },
       name: null as any,
@@ -33,6 +37,7 @@ export default defineComponent({
       showEdit: false,
       editMode: 'add',
       editRowData: {} as any,
+      appData: [] as any,
     })
     const tabsViewStore = useTabsViewStore()
     const gotoBack = () => {
@@ -43,6 +48,15 @@ export default defineComponent({
     }
 
     onMounted(async () => {
+
+      state.appData = []
+      const {data} = await sysApplicationPage({page: 1, rows: 999})
+      if (data && data.rows) {
+        data.rows.forEach((item: any) => {
+          state.appData.push({label: item.appName, value: item.appKey})
+        })
+      }
+
       getList()
     })
 
@@ -102,7 +116,7 @@ export default defineComponent({
         negativeText: '取消',
         onPositiveClick: async () => {
           try {
-            await smsConfigRemove(row.id)
+            await wxConfigInfoRemove(row.id)
             getList()
             message.success('删除成功')
           } catch {
@@ -119,6 +133,17 @@ export default defineComponent({
           key: 'id'
         },
         {
+          title: '应用',
+          key: 'appKey',
+          render(row: any) {
+            return (
+                <div>
+                  {getMapValueByKey(row.appKey, new Map(Object.entries(appKey)))}
+                </div>
+            )
+          }
+        },
+        {
           title: '公众号名称',
           key: 'mpName'
         },
@@ -225,6 +250,14 @@ export default defineComponent({
                       clearable
                   />
                 </NFormItem>
+                <NFormItem label="应用" path="appKey">
+                  <NSelect
+                      placeholder="请选择应用"
+                      v-model:value={state.searchForm.appKey}
+                      options={state.appData}
+                      clearable
+                  />
+                </NFormItem>
                 <NFormItem label="状态" path="status">
                   <NSelect
                       v-model:value={state.searchForm.status}
@@ -297,6 +330,7 @@ export default defineComponent({
                 <WechatConfigEdit
                     editMode={state.editMode}
                     rowData={state.editRowData}
+                    appData={state.appData}
                     style={{width: '450'}}
                     onClose={() => (state.showEdit = false)}
                     onGetList={() => {