Handy_Cao пре 11 месеци
родитељ
комит
e2a4e16df1

+ 5 - 18
src/packages/pc/views/member/institution/broker/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 108 - 7
src/packages/pc/views/member/institution/goodscfg/components/edit/index.vue

@@ -1,17 +1,118 @@
-<!-- 会员机构管理-机构管理-商品限制设置-修改 -->
+<!-- 会员机构管理-机构管理-商品限制设置-编辑 -->
 <template>
-    <app-drawer title="修改" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
+    <app-drawer title="编辑" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
+        <el-form ref="formRef" label-width="140px" :model="formData" :rules="formRules" :show-message="false">
+            <fieldset class="g-fieldset el-form--horizontal">
+                <legend class="g-fieldset__legend">机构</legend>
+                <el-form-item label="经济会员" prop="userid">
+                    <app-select-member v-model="formData.userid" />
+                </el-form-item>
+                <el-form-item label="市场" prop="marketid">
+                    <el-select v-model="formData.marketid">
+                        <template v-for="item in getMarketOptions()"
+                            :key="item.value">
+                            <el-option :label="item.label" :value="item.value" />
+                        </template>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="商品" prop="goodsid">
+                    <app-select-goods v-model="formData.goodsid" :marketid="formData.marketid" status="3,6,7" />
+                </el-form-item>
+                <el-form-item label="是否不显示" prop="isnodisplay">
+                    <el-radio-group v-model="formData.isnodisplay">
+                        <template v-for="item in getConfirmationList()" :key="item.value">
+                            <el-radio :label="item.label" :value="item.value" />
+                        </template>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item label="是否不能建买" prop="iscannotbuy">
+                    <el-radio-group v-model="formData.iscannotbuy">
+                        <template v-for="item in getConfirmationList()" :key="item.value">
+                            <el-radio :label="item.label" :value="item.value" />
+                        </template>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item label="是否不能建卖" prop="iscannotsell">
+                    <el-radio-group v-model="formData.iscannotsell">
+                        <template v-for="item in getConfirmationList()" :key="item.value">
+                            <el-radio :label="item.label" :value="item.value" />
+                        </template>
+                    </el-radio-group>
+                </el-form-item>
+            </fieldset>
+        </el-form> 
+        <template #footer>
+            <el-button @click="onCancel(false)">{{ t('operation.cancel') }}</el-button>
+            <el-button type="primary" @click="onSubmit">{{ t('operation.save') }}</el-button>
+        </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, PropType, defineAsyncComponent } from 'vue'
-import { i18n } from '@/stores'
+import { ref, shallowRef, PropType, onMounted } from 'vue'
+import { ElMessage, FormInstance, FormRules } from 'element-plus'
+import { addLimit } from '@/services/api/member'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppSelectMember from '@pc/components/modules/select-member/index.vue'
+import AppSelectGoods from '@pc/components/modules/select-goods/index.vue'
+import { i18n } from '@/stores'
+import { getConfirmationList } from '@/constants/common'
+import { useMarket } from '@/hooks/market'
 
-const { global: { t } } = i18n
+const props = defineProps({
+    record: {
+        type: Object as PropType<Model.MemberGoodsLimitRsp>
+    }
+})
 
-const show = shallowRef(true)
-const refresh = shallowRef(false)
+const { getMarketOptions } = useMarket()
+const { global: { t } } = i18n
+const formRef = ref<FormInstance>()
+const show = ref(true)
+const refresh = ref(false)
 const loading = shallowRef(false)
+
+const formData = ref<Partial<Model.AddLimitReq>>({
+    iscannotbuy: 0,
+    iscannotsell: 0,
+    isnodisplay: 0,
+})
+
+// 表单验证规则
+const formRules: FormRules = {
+    userid: [{ required: true }],
+    marketid: [{ required: true }],
+    goodsid: [{ required: true }],
+}
+
+const onCancel = (isRefresh = false) => {
+    show.value = false
+    refresh.value = isRefresh
+}
+
+const onSubmit = () => {
+    const rawData = { ...formData.value }
+    formRef.value?.validate((valid) => {
+        if (valid) {
+            loading.value = true
+            addLimit({
+                data: rawData
+            }).then(() => {
+                ElMessage.success(t('common.tips3'))
+                onCancel(true)
+            }).catch((err) => {
+                ElMessage.error(t('common.tips4') + err)
+            }).finally(() => {
+                loading.value = false
+            })
+        }
+    })
+}
+
+onMounted(() => {
+    const { autoid,  } = props.record ?? {}
+    if (autoid) {
+        formData.value.autoid = autoid
+    }
+})
 </script>

+ 5 - 19
src/packages/pc/views/member/institution/goodscfg/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules">
+            <app-filter :option="filterOption" >
                 <template #userid="{ item }">
                     <el-form-item :label="item.label" prop="userid">
                         <app-select-member v-model="item.value" usertype="2,3" :placeholder="t('member.institution.goodscfg.tips2')" />
@@ -30,14 +30,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -78,15 +78,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    userid: [{
-        required: true,
-        message: t('member.institution.goodscfg.tips1')
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.MemberGoodsLimitReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.MemberGoodsLimitReq>({
     filters: [
         {
             field: 'userid',
@@ -111,14 +103,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/industry/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/marketer/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/marketing/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/operation/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/riskcfg/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules">
+            <app-filter :option="filterOption" >
                 <template #memberuserid="{ item }">
                     <el-form-item :label="item.label" prop="memberuserid">
                         <app-select-member v-model="item.value" usertype="2,3" :placeholder="t('member.institution.riskcfg.tips2')" />
@@ -25,14 +25,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -68,15 +68,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    memberuserid: [{
-        required: true,
-        message: '请选择会员'
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.AccountRiskConfigReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.AccountRiskConfigReq>({
     filters: [
         {
             field: 'memberuserid',
@@ -96,13 +88,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
 })
 
 // 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 5 - 18
src/packages/pc/views/member/institution/self/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,14 +69,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }
 

+ 6 - 19
src/packages/pc/views/member/institution/warehouse/index.vue

@@ -2,7 +2,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-filter :option="filterOption" :rules="filterRules" />
+            <app-filter :option="filterOption" />
         </template>
         <app-table :data="dataList" :columns="tableColumns" :loading="loading">
             <template #headerLeft>
@@ -19,14 +19,14 @@
                     @change="onSearch" />
             </template>
         </app-table>
-        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+        <component :is="componentMap.get(componentId)" v-bind="{ record }" @closed="closeComponent"
             v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormRules } from 'element-plus'
+import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -69,20 +69,13 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 
-// 表单验证规则
-const filterRules: FormRules = {
-    accountname: [{
-        required: true,
-    }]
-}
-
-const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.OrganRoleReq>({
     filters: [
         {
             field: 'accountname',
             label: t('member.institution.warehouse.accountname'),
             required: true,
-        }
+        },
     ],
     buttons: [
         { label: t('operation.search'), className: 'el-button--primary', onClick: () => onSearch() },
@@ -90,14 +83,8 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
     ]
 })
 
-// 处理请求参数
-const processRequiredParams = () => {
-    const qs = getQueryParams()
-    return qs
-}
-
 const onSearch = () => {
-    const qs = processRequiredParams()
+    const qs = getQueryParams()
     run(qs)
 }