YangJian0701 1 éve
szülő
commit
4cc4e9ebaa

BIN
测试ERP.rar → ERP.rar


+ 2 - 2
src/api/index.ts

@@ -13,9 +13,9 @@ let loadingInstance: LoadingType = {}
 const config = {
   // 默认地址请求地址,可在 .env.*** 文件中修改
   // baseURL: process.env.NODE_ENV ?(import.meta.env.VITE_BZD_ERP_APP_API as string) : '' ,
-  baseURL:'https://erptest.baozhida.cn/api',//测试
+  // baseURL:'https://erptest.baozhida.cn/api',//测试
 
-  // baseURL:import.meta.env.VITE_SERVE + import.meta.env.VITE_APP_BASE_API,
+  baseURL:import.meta.env.VITE_SERVE + import.meta.env.VITE_APP_BASE_API,
 
 
   // 设置超时时间(10s)

+ 4 - 1
src/api/percentage/index.ts

@@ -12,4 +12,7 @@ export const percentage_Get = (params: any) => $http.post('/storage/Percentage/G
 export const percentage_Approval = (params: any) => $http.post('/storage/Percentage/Approval', params)
 
 // 员工-明细
-export const percentage_Remit = (params: any) => $http.post('/storage/Percentage/Remit', params)
+export const percentage_Remit = (params: any) => $http.post('/storage/Percentage/Remit', params)
+
+// 员工-明细
+export const percentage_del = (params: any) => $http.post('/storage/Percentage/Admin_Del', params)

+ 1 - 1
src/views/storehouse/sales/MyPercentage.vue

@@ -25,7 +25,7 @@ const columns: ColumnProps[] = [
   { prop: 'T_approval_money', label: '审批金额' },
   { prop: 'T_State', label: '状态', name: 'T_State' },
   { prop: 'T_send_money', label: '已发提成金额' },
-  { prop: 'operation', label: '操作', width: 260, fixed: 'right' }
+  { prop: 'operation', label: '操作', width: 280, fixed: 'right' }
 ]
 
 const processContract = (id: string,titles:string) => {

+ 18 - 7
src/views/storehouse/sales/MyPercentageForm.vue

@@ -43,11 +43,11 @@ const rules = reactive<FormRules>({
   T_customer: [{ required: true, message: '请输入客户名称', trigger: 'blur' }],
   T_type: [{ required: true, message: '请选择合同类型', trigger: 'blur' }],
   T_product: [{ validator: validate_T_product, message: '必填项', trigger: 'blur' }],
-  T_money: [{ required: true, message: '请输入合同金额', trigger: 'blur' }],
+  T_money: [{ required: true, message: '提成金额', trigger: 'blur' }],
   T_discount: [{ required: true, message: '请输入优惠金额', trigger: 'blur' }],
 
   T_date: [{ required: true, message: '请选择签订时间', trigger: 'blur' }],
-  T_submit: [{ required: true, message: '请选择合同负责人', trigger: 'change' }],
+  T_submit: [{ required: true, message: '提成人员', trigger: 'change' }],
   T_submit_name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }]
 })
 
@@ -110,7 +110,7 @@ const editDataEcho = async (row: any) => {
 const blurHandle = () => {
   form.T_product = tableData.value.map(item => {
     if (!item.count) return undefined
-    return `${item.Id},${item.count}|`
+    return `${item.T_id},${item.count}|`
   })
 }
 const deleteProduct = (row: any) => {
@@ -127,12 +127,12 @@ const getFomrParams = () => {
   delete params.T_submit
   return params
 }
-
 const AddContract = (formEl: FormInstance | undefined) => {
   if (!formEl) return
   formEl.validate(async valid => {
     if (valid) {
       let res: any = {}
+      await blurfindFun()
       const params = getFomrParams()
       if (isNew.value) {
         res = await percentage_Add(params)
@@ -149,6 +149,17 @@ const AddContract = (formEl: FormInstance | undefined) => {
     } else false
   })
 }
+//筛选验证产品明细是否填写了数量
+const blurfindFun = async ()=>{
+  return new Promise((reslove:any)=>{
+    const reslut = tableData.value.every((item:any)=>item.count!='')
+    if(!reslut){
+      ElMessage.error('请填写验证产品明细【数量】')
+    }else{
+      reslove()
+    }
+  })
+}
 
 const drawerProductRef = ref<InstanceType<typeof MyPercentageFormStorage> | null>(null)
 const verifyxiangRef = ref<InstanceType<typeof verifyxiang> | null>(null)
@@ -281,7 +292,7 @@ defineExpose({
           </div>
         </el-form-item>
         <el-form-item label="提成类型:" :label-width="formLabelWidth" prop="T_type">
-          <el-radio-group v-model="form.T_type">
+          <el-radio-group v-model="form.T_type" :disabled="isNew?false:true" @change="tableData = []">
             <el-radio :label="1">实施提成</el-radio>
             <el-radio :label="2">报告提成</el-radio>
           </el-radio-group>
@@ -317,10 +328,10 @@ defineExpose({
         </el-form-item>
 
         <el-form-item label="提成金额:" :label-width="formLabelWidth" prop="T_money">
-          <el-input v-model="form.T_money" type="text" autocomplete="off" placeholder="请输入合同金额" class="w-50" />
+          <el-input v-model="form.T_money" type="text" autocomplete="off" placeholder="提成金额" class="w-50" />
         </el-form-item>
         <el-form-item label="提成人员:" :label-width="formLabelWidth" prop="T_submit">
-          <el-input v-model="form.T_submit" placeholder="请选择合同负责人" class="w-50" @focus="selectApprover" />
+          <el-input v-model="form.T_submit" placeholder="提成人员" class="w-50" @focus="selectApprover" />
         </el-form-item>
       </el-form>
       <template #footer>

+ 45 - 17
src/views/storehouse/sales/Percentage.vue

@@ -2,19 +2,18 @@
 import { ref, reactive, defineAsyncComponent, onMounted } from 'vue'
 import { useRouter } from 'vue-router'
 import { fnMd5 } from '@/utils/common'
-import { ElMessageBox, ElMessage } from 'element-plus'
 import TableBase from '@/components/TableBase/index.vue'
 import { Edit, Delete, Finished, View } from '@element-plus/icons-vue'
 import type { ColumnProps } from '@/components/TableBase/interface/index'
-import { percentage_List, percentage_User_List } from '@/api/percentage/index'
-import { useTablePublic, options2} from '@/hooks/useTablePublic'
+import { percentage_List, percentage_User_List,percentage_del } from '@/api/percentage/index'
+import { useTablePublic, options2 } from '@/hooks/useTablePublic'
 
 const router = useRouter()
 const TableRef = ref<InstanceType<typeof TableBase> | null>(null)
-const { globalStore, searchOnTableList,updateOnTableList  } = useTablePublic()
+const { globalStore, searchOnTableList, updateOnTableList } = useTablePublic()
 
 const PercentageDetail1Ref = ref<InstanceType<typeof PercentageDetail1> | null>(null)
-  const PercentageDetail1 = defineAsyncComponent({
+const PercentageDetail1 = defineAsyncComponent({
   loader: () => import(/*webpackChunkName: 'ContractForm'*/ './PercentageDetail1.vue'),
   delay: 500,
   timeout: 3000,
@@ -32,10 +31,10 @@ const columns: ColumnProps[] = [
   { prop: 'T_money', label: '提成金额' },
   { prop: 'T_approval_money', label: '审批金额' },
 
-  
+
   { prop: 'T_send_money', label: '已发提成金额' },
   { prop: 'T_State', label: '状态', name: 'T_State' },
-  { prop: 'operation', label: '操作', width: 260, fixed: 'right' }
+  { prop: 'operation', label: '操作', width: 280, fixed: 'right' }
 ]
 
 const processContract = (type: string, row?: any) => {
@@ -44,8 +43,8 @@ const processContract = (type: string, row?: any) => {
   // PercentageDetail1Ref.value?.VerifyltemApi()
   PercentageDetail1Ref.value?.openDrawer(type, row)
 }
-const processContractxiang = (id: string,titles:string) => {
-  router.push({ name: 'PercentageDetail', params: { id, type: fnMd5('contract'),titles:titles}})
+const processContractxiang = (id: string, titles: string) => {
+  router.push({ name: 'PercentageDetail', params: { id, type: fnMd5('contract'), titles: titles } })
 }
 const initParam = reactive({
   User_tokey: globalStore.GET_User_tokey,
@@ -54,6 +53,9 @@ const initParam = reactive({
   T_uuid: '',
 })
 const loading = ref(false)
+const centerDialogVisible = ref(false)
+
+
 interface ListItem {
   value: string
   label: string
@@ -84,8 +86,8 @@ onMounted(async () => {
 
 const ContractFormRef = ref<InstanceType<typeof ContractForm> | null>(null)
 const ContForm = reactive({
-  id:null,
-  showTable:true
+  id: null,
+  showTable: true
 })
 const openContractFormDrawer = (type: string, row?: any) => {
   ContForm.id = row.Id
@@ -98,6 +100,19 @@ const ContractForm = defineAsyncComponent({
   timeout: 3000,
   suspensible: true
 })
+
+const setId = ref()
+const subDelectfun = async (id: any,sub: any) => {
+  if (sub=='sub') {//提交
+    const reslut:any = await percentage_del({T_id: setId.value})
+    console.log('res',reslut)
+    if(reslut.Code==200){TableRef.value?.getTableList();centerDialogVisible.value = false}
+  } else {//显示
+    centerDialogVisible.value = true
+    setId.value = id
+  }
+  console.log('确定删除', id,sub)
+}
 </script>
 
 <template>
@@ -147,14 +162,27 @@ const ContractForm = defineAsyncComponent({
         <el-tag v-else-if="row.T_out === 1" type="warning" effect="dark"> 未出库 </el-tag>
         <el-tag v-else type="danger" effect="dark"> --- </el-tag>
       </template>
-      <template #right="{ row }"> 
-        <el-button link type="warning" :disabled="![1,3].includes(row.T_State)" size="small"  :icon="Finished" @click="processContract('审核',row)">审核</el-button>
-        <el-button link type="primary" :disabled="![2,4,5].includes(row.T_State)" size="small"  :icon="Edit"  @click="openContractFormDrawer('edit', row)">打款明细</el-button>
-        <el-button link type="success" size="small"  :icon="View" @click="processContractxiang(row.Id,'详情')">详情</el-button>
+      <template #right="{ row }">
+        <el-button link type="warning" :disabled="![1, 3].includes(row.T_State)" size="small" :icon="Finished"
+          @click="processContract('审核', row)">审核</el-button>
+        <el-button link type="primary" :disabled="![2, 4, 5].includes(row.T_State)" size="small" :icon="Edit"
+          @click="openContractFormDrawer('edit', row)">打款明细</el-button>
+        <el-button link type="success" size="small" :icon="View"
+          @click="processContractxiang(row.Id, '详情')">详情</el-button>
+        <el-button link type="danger" size="small" :icon="View" @click="subDelectfun(row.Id,'show')">删除</el-button>
       </template>
     </TableBase>
-  <ContractForm ref="ContractFormRef" :ContForm="ContForm" @onTableList="updateOnTableList(TableRef)" />
-  <PercentageDetail1 ref="PercentageDetail1Ref" @onTableList="updateOnTableList(TableRef)" />
+    <ContractForm ref="ContractFormRef" :ContForm="ContForm" @onTableList="updateOnTableList(TableRef)" />
+    <PercentageDetail1 ref="PercentageDetail1Ref" @onTableList="updateOnTableList(TableRef)" />
+    <el-dialog v-model="centerDialogVisible" title="提示" width="30%" center>
+      <span style="text-align: center;display: block;">删除操作,是否删除?</span>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="centerDialogVisible = false">取消</el-button>
+          <el-button type="primary" @click="subDelectfun('','sub')">删除</el-button>
+        </span>
+      </template>
+    </el-dialog>
   </div>
 </template>
 

+ 13 - 2
src/views/storehouse/sales/PercentageDetail1.vue

@@ -123,7 +123,7 @@ const editDataEcho = async (row: any) => {
 const blurHandle = () => {
   form.T_product = tableData.value.map(item => {
     if (!item.count) return undefined
-    return `${item.Id},${item.count}|`
+    return `${item.T_id},${item.count}|`
   })
 }
 const deleteProduct = (row: any) => {
@@ -149,6 +149,7 @@ const AddContract = (formEl: FormInstance | undefined) => {
   formEl.validate(async valid => {
     if (valid) {
       let res: any = {}
+      await blurfindFun()
       const params = getFomrParams()
       if (isNew.value) {
         res = await percentage_Add(params)
@@ -165,7 +166,17 @@ const AddContract = (formEl: FormInstance | undefined) => {
     } else false
   })
 }
-
+//筛选验证产品明细是否填写了数量
+const blurfindFun = async ()=>{
+  return new Promise((reslove:any)=>{
+    const reslut = tableData.value.every((item:any)=>item.count!='')
+    if(!reslut){
+      ElMessage.error('请填写验证产品明细【数量】')
+    }else{
+      reslove()
+    }
+  })
+}
 const drawerProductRef = ref<InstanceType<typeof MyPercentageFormStorage> | null>(null)
 const verifyxiangRef = ref<InstanceType<typeof verifyxiang> | null>(null)