Bläddra i källkod

Merge branch 'master' of http://139.196.39.194:9021/yuansh/global-web

z 2 dagar sedan
förälder
incheckning
7e422bb4bc

+ 51 - 26
src/views/cuspCode/CustomerProfile/CuspCustomerProfile.data.ts

@@ -583,35 +583,60 @@ export const formSchema: FormSchema[] = [
   {
     label: '隶属部门(subordinate)',
     field: 'subordinateDepart',
-    component: 'JSelectDept',colProps: { span: 12 },
+    colProps: { span: 12 },
     labelWidth: 200,
-    componentProps: ({ formActionType, formModel }) => {
-      return {
-        // sync: false,
-        // checkStrictly: true,
-        defaultExpandLevel: 2,
-
-        // onSelect: (options, values) => {
-        //   const { updateSchema } = formActionType;
-        //   //所属部门修改后更新负责部门下拉框数据
-        //   updateSchema([
-        //     {
-        //       field: 'departIds',
-        //       componentProps: { options },
-        //     },
-        //   ]);
-        //   //update-begin---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
-        //   if(!values){
-        //     formModel.departIds = [];
-        //     return;
-        //   }
-        //   //update-end---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
-        //   //所属部门修改后更新负责部门数据
-        //   formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1));
-        // },
-      };
+    component: 'ApiSelect',
+    componentProps: {
+      mode: 'multiple',//multiple: 多选;不填写为单选
+      //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
+      api: () => defHttp.get({ url: '/sys/sysDepart/listAll',params:{pageSize: -1}}),
+      //数值转成String
+      numberToString: false,
+      //标题字段
+      labelField: 'departName',
+      //值字段
+      valueField: 'id',
+      //请求参数
+      params: { pageSize: -1, status: 1 },
+      //返回结果字段
+      resultField: 'records',
+      filterOption: 'true',
+      optionFilterProp: 'label',
+      showSearch: 'true',
     },
   },
+  // {
+  //   label: '隶属部门(subordinate)',
+  //   field: 'subordinateDepart',
+  //   component: 'JSelectDept',colProps: { span: 12 },
+  //   labelWidth: 200,
+  //   componentProps: ({ formActionType, formModel }) => {
+  //     return {
+  //       // sync: false,
+  //       // checkStrictly: true,
+  //       defaultExpandLevel: 2,
+
+  //       // onSelect: (options, values) => {
+  //       //   const { updateSchema } = formActionType;
+  //       //   //所属部门修改后更新负责部门下拉框数据
+  //       //   updateSchema([
+  //       //     {
+  //       //       field: 'departIds',
+  //       //       componentProps: { options },
+  //       //     },
+  //       //   ]);
+  //       //   //update-begin---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
+  //       //   if(!values){
+  //       //     formModel.departIds = [];
+  //       //     return;
+  //       //   }
+  //       //   //update-end---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
+  //       //   //所属部门修改后更新负责部门数据
+  //       //   formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1));
+  //       // },
+  //     };
+  //   },
+  // },
   {
     label: '营业执照(business license)',
     field: 'files',

+ 54 - 27
src/views/cuspCode/SupplierProfile/CuspSupplierProfile.data.ts

@@ -3,6 +3,7 @@ import { FormSchema } from '/@/components/Table';
 import { rules } from '/@/utils/helper/validator';
 import { render } from '/@/utils/common/renderUtils';
 import { JVxeTypes, JVxeColumn } from '/@/components/jeecg/JVxeTable/types';
+import { defHttp } from '/@/utils/http/axios';
 import { getWeekMonthQuarterYear } from '/@/utils';
 import { uploadUrl } from '/@/api/common/api';
 //列表数据
@@ -519,38 +520,64 @@ export const formSchema: FormSchema[] = [
     labelWidth: 200,
     component: 'JUpload',
   },
+  
   {
     label: '隶属部门(subordinate)',
     field: 'subordinateDepart',
-    component: 'JSelectDept',colProps: { span: 12 },
+    colProps: { span: 12 },
     labelWidth: 200,
-    componentProps: ({ formActionType, formModel }) => {
-      return {
-        // sync: false,
-        // checkStrictly: true,
-        defaultExpandLevel: 2,
+    component: 'ApiSelect',
+    componentProps: {
+      mode: 'multiple',//multiple: 多选;不填写为单选
+      //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
+      api: () => defHttp.get({ url: '/sys/sysDepart/listAll',params:{pageSize: -1}}),
+      //数值转成String
+      numberToString: false,
+      //标题字段
+      labelField: 'departName',
+      //值字段
+      valueField: 'id',
+      //请求参数
+      params: { pageSize: -1, status: 1 },
+      //返回结果字段
+      resultField: 'records',
+      filterOption: 'true',
+      optionFilterProp: 'label',
+      showSearch: 'true',
+    },
+  },
+  // {
+  //   label: '隶属部门(subordinate)',
+  //   field: 'subordinateDepart',
+  //   component: 'JSelectDept',colProps: { span: 12 },
+  //   labelWidth: 200,
+  //   componentProps: ({ formActionType, formModel }) => {
+  //     return {
+  //       // sync: false,
+  //       // checkStrictly: true,
+  //       defaultExpandLevel: 2,
 
-        // onSelect: (options, values) => {
-        //   const { updateSchema } = formActionType;
-        //   //所属部门修改后更新负责部门下拉框数据
-        //   updateSchema([
-        //     {
-        //       field: 'departIds',
-        //       componentProps: { options },
-        //     },
-        //   ]);
-        //   //update-begin---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
-        //   if(!values){
-        //     formModel.departIds = [];
-        //     return;
-        //   }
-        //   //update-end---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
-        //   //所属部门修改后更新负责部门数据
-        //   formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1));
-        // },
-      };
-    },
-  },
+  //       // onSelect: (options, values) => {
+  //       //   const { updateSchema } = formActionType;
+  //       //   //所属部门修改后更新负责部门下拉框数据
+  //       //   updateSchema([
+  //       //     {
+  //       //       field: 'departIds',
+  //       //       componentProps: { options },
+  //       //     },
+  //       //   ]);
+  //       //   //update-begin---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
+  //       //   if(!values){
+  //       //     formModel.departIds = [];
+  //       //     return;
+  //       //   }
+  //       //   //update-end---author:wangshuai---date:2024-05-11---for:【issues/1222】用户编辑界面“所属部门”与“负责部门”联动出错整---
+  //       //   //所属部门修改后更新负责部门数据
+  //       //   formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1));
+  //       // },
+  //     };
+  //   },
+  // },
   {
     label: '备注(notes)',
     field: 'notes',

+ 2 - 2
src/views/dashboard/Analysis/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- <IndexChart v-if="indexStyle === 0"></IndexChart>
+  <IndexChart v-if="indexStyle === 0"></IndexChart>
   <IndexDef v-if="indexStyle === 1"></IndexDef>
   <IndexBdc v-if="indexStyle == 2"></IndexBdc>
   <IndexTask v-if="indexStyle == 3"></IndexTask>
@@ -11,7 +11,7 @@
       <a-radio :value="2">业务统计</a-radio>
       <a-radio :value="3">我的任务</a-radio>
     </a-radio-group>
-  </div> -->
+  </div>
 </template>
 <script lang="ts" setup>
   import { ref } from 'vue';

+ 23 - 5
src/views/dashboard/workbench/components/DynamicInfo.vue

@@ -1,19 +1,19 @@
 <template>
   <Card title="最新动态" v-bind="$attrs">
     <template #extra>
-      <a-button type="link" size="small">更多</a-button>
+      <!-- <a-button type="link" size="small">更多</a-button> -->
     </template>
-    <List item-layout="horizontal" :data-source="dynamicInfoItems">
+    <List item-layout="horizontal" :data-source="items.values">
       <template #renderItem="{ item }">
         <ListItem>
           <ListItemMeta>
             <template #description>
-              {{ item.date }}
+              {{ item.createTime }}
             </template>
             <!-- eslint-disable-next-line -->
-            <template #title> {{ item.name }} <span v-html="item.desc"> </span> </template>
+            <template #title> {{ item.username }} 操作了 <span v-html="item.logContent"> </span> </template>
             <template #avatar>
-              <Icon :icon="item.avatar" :size="30" />
+              <Icon icon="dynamic-avatar-1|svg" :size="30" />
             </template>
           </ListItemMeta>
         </ListItem>
@@ -22,10 +22,28 @@
   </Card>
 </template>
 <script lang="ts" setup>
+  import { defHttp } from '/@/utils/http/axios';
+  import { ref, onMounted } from 'vue';
   import { Card, List } from 'ant-design-vue';
   import { dynamicInfoItems } from './data';
   import { Icon } from '/@/components/Icon';
 
   const ListItem = List.Item;
   const ListItemMeta = List.Item.Meta;
+  
+  const items = [];
+  onMounted(() => {
+    loadData();
+  });
+  async function loadData() {
+    try {
+      const res = await defHttp.get({ url: '/sys/log/queryPageListByUser' })
+	  console.log("==================="+res.records);
+      items.values = res.records;
+	  console.log("===================");
+	  console.log(items.values);
+    } catch (error) {
+      
+    }
+  }
 </script>

+ 6 - 6
src/views/dashboard/workbench/components/ProjectCard.vue

@@ -1,7 +1,7 @@
 <template>
   <Card title="待办事项" v-bind="$attrs">
     <template #extra>
-      <!-- <a-button type="link" size="small">更多</a-button> -->
+      <!-- <a-button v-show="true" type="link" size="small">更多</a-button> -->
     </template>
 
     <template v-for="item in items" :key="item">
@@ -11,12 +11,12 @@
           <span class="ml-4">{{ item.name }}</span>
         </span>
         <div class="mt-2 h-10 text-secondary">
-          您当前有<a :href="item.url">{{ item.description }}</a>条数据待处理!
+          <a :href="item.url">您当前有{{ item.description }}条订单数据待处理!</a>
+        </div>
+         <div class="flex justify-between text-secondary">
+          <span></span>
+          <span>{{ item.perms }}</span>
         </div>
-        <!-- <div class="flex justify-between text-secondary">
-          <span>{{ item.group }}</span>
-          <span>{{ item.date }}</span>
-        </div> -->
       </CardGrid>
     </template>
   </Card>

+ 7 - 4
src/views/dashboard/workbench/index.vue

@@ -2,11 +2,13 @@
   <PageWrapper>
     <template #headerContent> <WorkbenchHeader /> </template>
     <div class="lg:flex">
-      <div class="lg:w-7/10 w-full !mr-4 enter-y">
+      <div class="lg:w-10/10 w-full !mr-4 enter-y">
         <ProjectCard :loading="loading" class="enter-y" />
         <DynamicInfo :loading="loading" class="!my-4 enter-y" />
       </div>
-      <div class="lg:w-3/10 w-full enter-y">
+		 <!-- <IndexChart></IndexChart> -->
+	 
+      <!-- <div class="lg:w-3/10 w-full enter-y">
         <QuickNav :loading="loading" class="enter-y" />
 
         <Card class="!my-4 enter-y" :loading="loading">
@@ -14,7 +16,7 @@
         </Card>
 
         <SaleRadar :loading="loading" class="enter-y" />
-      </div>
+      </div> -->
     </div>
   </PageWrapper>
 </template>
@@ -24,9 +26,10 @@
   import { PageWrapper } from '/@/components/Page';
   import WorkbenchHeader from './components/WorkbenchHeader.vue';
   import ProjectCard from './components/ProjectCard.vue';
-  import QuickNav from './components/QuickNav.vue';
+  // import QuickNav from './components/QuickNav.vue';
   import DynamicInfo from './components/DynamicInfo.vue';
   import SaleRadar from './components/SaleRadar.vue';
+  // import IndexChart from '../Analysis/homePage/IndexChart.vue';
 
   const loading = ref(true);
 

+ 4 - 1
src/views/purchase/purchaseOrder/components/PurchaseOrderFormForm.vue

@@ -197,7 +197,7 @@
             </a-col>
             <a-col :span="12">
               <a-form-item label="币种(currency)" v-bind="validateInfos.currency" id="PurchaseOrderFormModal-currency" name="currency">
-                <JDictSelectTag :disabled="!hasPermission('purCode:pur_order:editBz')" v-model:value="formData.currency" placeholder="请选择" dictCode="currency" @change="handleChangeCurrency" />
+                <JDictSelectTag :disabled="!hasPermission('purCode:pur_order:editBz')" :disabled="!hasPermission('purCode:pur_order:editBZ')" v-model:value="formData.currency" placeholder="请选择" dictCode="currency" @change="handleChangeCurrency" />
               </a-form-item>
             </a-col>
             <a-col :span="12">
@@ -380,6 +380,7 @@
   import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue';
   import { Form, message } from 'ant-design-vue';
   import { useUserStore } from '/@/store/modules/user';
+  import { usePermission } from '/@/hooks/web/usePermission';
   import moment from 'moment';
   import { usePermission } from '/@/hooks/web/usePermission';
   const { hasPermission } = usePermission();
@@ -410,6 +411,7 @@
     },
     emits: ['success'],
     setup(props, { emit }) {
+      const { hasPermission } = usePermission();
       const userStore = useUserStore();
       const loading = ref(false);
       const formRef = ref();
@@ -952,6 +954,7 @@
           }
       }
       return {
+		  hasPermission,
         discountHeadChange,
         PurOrderFormShipFormShipTableRef,
         PurOrderFormShipFormShipTable,

+ 5 - 5
src/views/saleCode/salesOrder/SaleOrderForm.data.ts

@@ -99,11 +99,6 @@ export const columns: BasicColumn[] = [
     align:"center",
     dataIndex: 'sourceCode',
    },
-   {
-    title: 'Notified',
-    align:"center",
-    dataIndex: 'notified',
-   },
    {
     title: '状态(status)',
     align:"center",
@@ -191,6 +186,11 @@ export const columns: BasicColumn[] = [
     dataIndex: 'customerOrder',
     width:200
    },
+   {
+    title: 'Notified',
+    align:"center",
+    dataIndex: 'notified',
+   },
    {
     title: '发票金额(invoice money)',
     align:"center",

+ 2 - 2
src/views/saleCode/salesOrder/SaleOrderFormList.vue

@@ -135,8 +135,8 @@
             </a-col>
             <a-col :lg="8">
               <a-form-item name="submit">
-                <template #label><span title="提交(submit)">提交(submit)</span></template>
-                <JDictSelectTag v-model:value="queryParam.submit" placeholder="请选择" dictCode="yes_or_no" style="width: 100%" />
+                <template #label><span title="提交(submit)">状态(submit)</span></template>
+                <JDictSelectTag v-model:value="queryParam.submit" placeholder="请选择" dictCode="commit_status" style="width: 100%" />
               </a-form-item>
             </a-col>
             <a-col :lg="8">

+ 3 - 1
src/views/saleCode/salesOrder/components/SlaeOrderFormForm.vue

@@ -729,6 +729,8 @@
         notAllowEdit.value = true;
         SaleOrderFormShipFormProductTable.dataSource = arrProduct;
         formData.sourceCode = data[0].billCode;
+        formData.liaisonId = data[0].liaisonId;
+        formData.liaisonInfo = data[0].liaisonInfo;
         formData.convertedAmount = allDiscountPrice;
         formData.convertedAmount = Number(formData.convertedAmount).toFixed(2);
         if (!formData.sourceCode2 && formData.sourceCode2 == '') {
@@ -883,7 +885,7 @@
       async function getLinkOptionsArr(customerId) {
         var obj = await LinkOption({ id: customerId });
         linkOption.value = obj;
-        if (obj.lenght !== 0 && typeof obj === 'undefined') {
+        if (obj.lenght !== 0 && typeof obj !== 'undefined' && formData.liaisonId == null) {
           formData.liaisonId = obj[0].id;
           formData.liaisonInfo = obj[0].name;
         }