Browse Source

Merge branch 'master_hella' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into master_hella

hella_online_20240913
ljlong_2630 2 months ago
parent
commit
bbd7c68619
  1. 4
      .env.prod
  2. 4
      .env.test
  3. 3
      .env.test-scp
  4. 2
      README.md
  5. 5
      public/systemConfig.js
  6. 4
      src/api/system/password/index.ts
  7. 17
      src/api/wms/balance/index.ts
  8. 6
      src/api/wms/inventorymoveRequestMain/index.ts
  9. 4
      src/api/wms/rawMaterialConsumptionInfo/index.ts
  10. 4
      src/components/DictTag/src/DictTag.vue
  11. 2
      src/components/SearchHigh/src/SearchHigh.vue
  12. 1
      src/components/Verifition/src/Verify/VerifySlide.vue
  13. 1
      src/hooks/web/useCrudSchemas.ts
  14. 10
      src/utils/systemParam.ts
  15. 67
      src/views/login/components/LoginForm.vue
  16. 6
      src/views/login/components/QRCodePDA.vue
  17. 2
      src/views/qms/inspectionJob/detail.vue
  18. 225
      src/views/qms/inspectionQ2/index.vue
  19. 8
      src/views/qms/inspectionQ2/inspectionQ2.data.ts
  20. 4
      src/views/qms/inspectionQ3/index.vue
  21. 28
      src/views/qms/inspectionQ3/inspectionQ3.data.ts
  22. 2
      src/views/qms/inspectionScheme/detail.vue
  23. 53
      src/views/wms/agvManage/backflushDetailbQad/backflushDetailbQad.data.ts
  24. 22
      src/views/wms/agvManage/backflushDetailbQad/index.vue
  25. 1
      src/views/wms/basicDataManage/itemManage/bom/index.vue
  26. 1
      src/views/wms/basicDataManage/itemManage/itembasic/index.vue
  27. 1
      src/views/wms/basicDataManage/itemManage/packageunit/index.vue
  28. 1
      src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue
  29. 6
      src/views/wms/basicDataManage/strategySetting/strategy/arrivalInspectionStrategy/AddForm.vue
  30. 12
      src/views/wms/basicDataManage/strategySetting/strategy/batchStrategy/AddForm.vue
  31. 22
      src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue
  32. 8
      src/views/wms/basicDataManage/strategySetting/strategy/inspectStrategy/AddForm.vue
  33. 6
      src/views/wms/basicDataManage/strategySetting/strategy/purchaseReceiptStrategy/AddForm.vue
  34. 12
      src/views/wms/basicDataManage/strategySetting/strategy/storageCapacityStrategy/AddForm.vue
  35. 8
      src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/AddForm.vue
  36. 26
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  37. 11
      src/views/wms/basicDataManage/strategySetting/strategy/utensilCapacityStrategy/AddForm.vue
  38. 5
      src/views/wms/basicDataManage/strategySetting/strategy/warehouseStorageStrategy/AddForm.vue
  39. 37
      src/views/wms/basicDataManage/supplierManage/supplieritem/index.vue
  40. 26
      src/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data.ts
  41. 192
      src/views/wms/inventoryManage/balance/balance.data.ts
  42. 40
      src/views/wms/inventoryManage/balance/index.vue
  43. 80
      src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts
  44. 59
      src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts
  45. 74
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts
  46. 22
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueJobMain/unplannedissueJobMain.data.ts
  47. 1
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts
  48. 1
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue
  49. 1
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts
  50. 8
      src/views/wms/moveManage/inventorymove/inventorymoveJobMain/inventorymoveJobMain.data.ts
  51. 8
      src/views/wms/moveManage/inventorymove/inventorymoveRecordMain/inventorymoveRecordMain.data.ts
  52. 34
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue
  53. 24
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMainMOVE/index.vue
  54. 77
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue
  55. 18
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/inventorymoveRequestMain.data.ts
  56. 24
      src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/index.vue
  57. 17
      src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue
  58. 3
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue
  59. 3
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue
  60. 2
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts
  61. 3
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue
  62. 5
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue
  63. 5
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue
  64. 120
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts
  65. 3
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue
  66. 14
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  67. 3
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts
  68. 6
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue
  69. 2
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts
  70. 31
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue
  71. 15
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts
  72. 6
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue
  73. 4
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

4
.env.prod

@ -48,3 +48,7 @@ VITE_SYSTERM_UPDATE_URL = 'https://scptest.faway-hella.com/'
# 是否需要验证码 # 是否需要验证码
VITE_NEED_CODE = true VITE_NEED_CODE = true
# 是否需要下载PDA链接
VITE_PDA_URL = false

4
.env.test

@ -44,3 +44,7 @@ VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400'
# 是否需要验证码 # 是否需要验证码
VITE_NEED_CODE = true VITE_NEED_CODE = true
# 是否需要下载PDA链接
VITE_PDA_URL = true

3
.env.test-scp

@ -45,3 +45,6 @@ VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400'
# 是否需要验证码 # 是否需要验证码
VITE_NEED_CODE = false VITE_NEED_CODE = false
# 是否需要下载PDA链接
VITE_PDA_URL = false

2
README.md

@ -5,6 +5,8 @@ dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string', dictClass: 'string',
dictAllOption:true,// true 字典中--下拉框中展示全选按钮 dictAllOption:true,// true 字典中--下拉框中展示全选按钮
dictAllValue:'全选', // 全选按钮的value值 dictAllValue:'全选', // 全选按钮的value值
hiddenSearchHigh?: boolean // 是否隐藏高级筛选
**form表单查询弹窗配置** **form表单查询弹窗配置**
form: { form: {
labelMessage: '信息提示说明!!!', labelMessage: '信息提示说明!!!',

5
public/systemConfig.js

@ -13,5 +13,8 @@ let systemConfig = {
tenant: '["成都"]', tenant: '["成都"]',
systermUpdateAlert: true, systermUpdateAlert: true,
systermUpdateUrl: 'https://scptest.faway-hella.com/', systermUpdateUrl: 'https://scptest.faway-hella.com/',
needCode:false //是否需要验证码
needCode:false,
//是否需要PDA下载链接
pdaUrl:false,
} }

4
src/api/system/password/index.ts

@ -23,3 +23,7 @@ export const setConfig = (data: PassWordConfigVO) => {
export const getRuleList = () => { export const getRuleList = () => {
return request.get({ url: '/system/password/getRuleList'}) return request.get({ url: '/system/password/getRuleList'})
} }
// 验证密码是否过期
export const validateResetTime = (userId:number) => {
return request.get({ url: '/system/password/validateResetTime?userId=' + userId})
}

17
src/api/wms/balance/index.ts

@ -42,6 +42,16 @@ export const getBalancePage = async (params) => {
} }
} }
export const getTransactionBalancePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/transaction/senior', data })
} else {
return await request.get({ url: `/wms/transaction/page_balance`, params })
}
}
// 查询库存余额列表(包括已冻结,已失效的物料) // 查询库存余额列表(包括已冻结,已失效的物料)
export const getBalancePageAll = async (params) => { export const getBalancePageAll = async (params) => {
if (params.isSearch) { if (params.isSearch) {
@ -218,4 +228,9 @@ export const getBalanceItemListByCodes = async (data) => {
// 查询bom批次默认数据 // 查询bom批次默认数据
export const getBanchBomPage = async (params) => { export const getBanchBomPage = async (params) => {
return await request.get({ url: `/wms/balance/pageBOM`, params }) return await request.get({ url: `/wms/balance/pageBOM`, params })
} }
// 查询
export const getAllBalancePage = async (params) => {
return await request.get({ url: `/wms/balance/getBalancePageAll `, params })
}

6
src/api/wms/inventorymoveRequestMain/index.ts

@ -129,11 +129,13 @@ export const exportScrapToHoldRequestMain = async (params) => {
} }
// 下载用户导入模板 // 下载用户导入模板
// 下载用户导入模板(除库存移动外)
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/inventorymove-request-main/get-import-template' }) return request.download({ url: '/wms/inventorymove-request-main/get-import-template' })
} }
export const importTemplateHoldOk = () => {
// 下载用户导入模板(除库存移动外) return request.download({ url: '/wms/inventorymove-request-main/get-import-template-hold-ok' })
}
export const importTemplateExceptMove = () => { export const importTemplateExceptMove = () => {
return request.download({ url: '/wms/inventorymove-request-main/get-import-template-exceptMove' }) return request.download({ url: '/wms/inventorymove-request-main/get-import-template-exceptMove' })
} }

4
src/api/wms/rawMaterialConsumptionInfo/index.ts

@ -54,4 +54,8 @@ export const exportAssemblyMaterialUsage = async (params) => {
} }
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/backflush-record-detailb/get-import-template-error' })
}

4
src/components/DictTag/src/DictTag.vue

@ -47,7 +47,7 @@ export default defineComponent({
if (dictDataList.length == 0) { if (dictDataList.length == 0) {
if(dictData.value?.label !== '' && dictData.value?.label !== undefined){ if(dictData.value?.label !== '' && dictData.value?.label !== undefined){
return (<ElTag return (<ElTag
style={dictData.value?.cssClass ? 'color: #fff' : ''} style={dictData.value?.cssClass=='none'?'background-color: transparent;':dictData.value?.cssClass ? 'color: #fff' : ''}
type={dictData.value?.colorType} type={dictData.value?.colorType}
color={ color={
dictData.value?.cssClass && isHexColor(dictData.value?.cssClass) dictData.value?.cssClass && isHexColor(dictData.value?.cssClass)
@ -65,7 +65,7 @@ export default defineComponent({
return ( return (
dictDataList.map(item => { dictDataList.map(item => {
return <ElTag return <ElTag
style={item?.cssClass ? 'color: #fff' : ''} style={item?.cssClass=='none'?'background-color: transparent;':item?.cssClass ? 'color: #fff' : ''}
type={item?.colorType} type={item?.colorType}
color={ color={
item?.cssClass && isHexColor(item?.cssClass) item?.cssClass && isHexColor(item?.cssClass)

2
src/components/SearchHigh/src/SearchHigh.vue

@ -115,7 +115,7 @@ const props = defineProps({
const message = useMessage() // const message = useMessage() //
const route = useRoute() // const route = useRoute() //
const popoverVisible = ref(false) const popoverVisible = ref(false)
const searchOption_high = ref(props.allSchemas?.tableColumns.filter(item => (item.field != "action"))) const searchOption_high = ref(props.allSchemas?.tableColumns.filter(item => (item.field != "action"&&!item.hiddenSearchHigh)))
const moreListData = ref({ const moreListData = ref({
filters:[] filters:[]
}) })

1
src/components/Verifition/src/Verify/VerifySlide.vue

@ -410,4 +410,5 @@ const getPictrue = async () => {
// tipWords.value = res.repMsg // tipWords.value = res.repMsg
// } // }
} }
defineExpose({ refresh })
</script> </script>

1
src/hooks/web/useCrudSchemas.ts

@ -14,6 +14,7 @@ import { cloneDeep, merge } from 'lodash-es'
export type CrudSchema = Omit<TableColumn, 'children'> & { export type CrudSchema = Omit<TableColumn, 'children'> & {
isSearch?: boolean // 是否在查询显示 isSearch?: boolean // 是否在查询显示
hiddenSearchHigh?: boolean // 是否隐藏高级筛选
search?: CrudSearchParams // 查询的详细配置 search?: CrudSearchParams // 查询的详细配置
isTable?: boolean // 是否在列表显示 isTable?: boolean // 是否在列表显示
table?: CrudTableParams // 列表的详细配置 table?: CrudTableParams // 列表的详细配置

10
src/utils/systemParam.ts

@ -7,6 +7,7 @@ const tenant = ref(import.meta.env.VITE_TENANT)
const systermUpdateAlert = ref(import.meta.env.VITE_SYSTERM_UPDATE_ALERT) const systermUpdateAlert = ref(import.meta.env.VITE_SYSTERM_UPDATE_ALERT)
const systermUpdateUrl = ref(import.meta.env.VITE_SYSTERM_UPDATE_URL) const systermUpdateUrl = ref(import.meta.env.VITE_SYSTERM_UPDATE_URL)
const needCode = ref(import.meta.env.VITE_NEED_CODE) const needCode = ref(import.meta.env.VITE_NEED_CODE)
const pdaUrl = ref(import.meta.env.VITE_PDA_URL)
const mode = ref(import.meta.env.MODE) const mode = ref(import.meta.env.MODE)
// 获取baseUrl // 获取baseUrl
@ -85,4 +86,13 @@ export const getNeedCode = () => {
} }
} }
//是否需要PDA下载链接
export const getPDAUrl = () => {
if(mode.value === 'prod') {
return systemConfig.pdaUrl
} else {
return pdaUrl.value
}
}

67
src/views/login/components/LoginForm.vue

@ -74,6 +74,7 @@
<XButton :loading="loginLoading" :title="t('login.login')" class="w-[100%]" type="primary" <XButton :loading="loginLoading" :title="t('login.login')" class="w-[100%]" type="primary"
@click="handleLogin()" /> @click="handleLogin()" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
@ -82,13 +83,13 @@
import { ElLoading } from 'element-plus' import { ElLoading } from 'element-plus'
import LoginFormTitle from './LoginFormTitle.vue' import LoginFormTitle from './LoginFormTitle.vue'
import type { RouteLocationNormalizedLoaded } from 'vue-router' import type { RouteLocationNormalizedLoaded } from 'vue-router'
import { Verify } from '@/components/Verifition'
import { useIcon } from '@/hooks/web/useIcon' import { useIcon } from '@/hooks/web/useIcon'
import * as authUtil from '@/utils/auth' import * as authUtil from '@/utils/auth'
import { usePermissionStore } from '@/store/modules/permission' import { usePermissionStore } from '@/store/modules/permission'
import * as LoginApi from '@/api/login' import * as LoginApi from '@/api/login'
import * as PassWordApi from '@/api/system/password'
import { LoginStateEnum, useFormValid, useLoginState } from './useLogin' import { LoginStateEnum, useFormValid, useLoginState } from './useLogin'
import { getCodeImg } from "@/api/login"; import { getCodeImg } from "@/api/login";
import router from "@/router"; import router from "@/router";
@ -96,6 +97,9 @@
import * as DeptApi from '@/api/system/dept' import * as DeptApi from '@/api/system/dept'
import { getTenant } from '@/utils/systemParam' import { getTenant } from '@/utils/systemParam'
import { getSystermUpdateAlert,getSystermUpdateUrl,getNeedCode } from '@/utils/systemParam' import { getSystermUpdateAlert,getSystermUpdateUrl,getNeedCode } from '@/utils/systemParam'
import {validateResetTime} from "@/api/system/password";
import { Verify } from '@/components/Verifition'
const needCode = ref(getNeedCode()==true||getNeedCode()=='true') const needCode = ref(getNeedCode()==true||getNeedCode()=='true')
defineOptions({ name: 'LoginForm' }) defineOptions({ name: 'LoginForm' })
@ -180,6 +184,7 @@
} }
} }
function getCode() { function getCode() {
console.log('getCode')
if(!needCode.value){ if(!needCode.value){
return return
} }
@ -218,35 +223,29 @@
name: 'ForgetPassword', name: 'ForgetPassword',
}) })
}; };
// //
const capctchaCheckSuccess = ({captchaVerification})=>{ const capctchaCheckSuccess = async ({captchaVerification})=>{
console.log('capctchaCheckSuccess',captchaVerification) console.log('capctchaCheckSuccess',captchaVerification)
loginData.loginForm.code = captchaVerification if(captchaVerification){
handleLogin() loginData.loginForm.code = captchaVerification
await handleLogin()
}
} }
// //
const capctchaCheckError = ()=>{ const capctchaCheckError = ()=>{
VerifySlide.value.refresh() console.log('capctchaCheckError')
} }
const loading = ref() // ElLoading.service const loading = ref() // ElLoading.service
// //
const handleLogin = async () => { const handleLogin = async () => {
console.log('登录-185') console.log('登录-185')
if(getSystermUpdateAlert()=='true'||getSystermUpdateAlert()===true){
await ElMessageBox.alert(
'<strong>系统迁移,请移步至</strong>' +
`<a href=${getSystermUpdateUrl()} target="_blank">${getSystermUpdateUrl()}</a>`,
'重要提示',
{
dangerouslyUseHTMLString: true,
}
)
}
loginLoading.value = true loginLoading.value = true
try { try {
await getTenantId() await getTenantId()
const data = await validForm() const data = await validForm()
if (!data) { if (!data) {
return return
@ -257,6 +256,21 @@
}else{ }else{
res = await LoginApi.login(loginData.loginForm) res = await LoginApi.login(loginData.loginForm)
} }
console.log('登陆res',res)
try{
await PassWordApi.validateResetTime(res.userId)
}catch (e) {
if (e.code === 1002000010) {
await ElMessageBox.alert(
'<strong>密码长时间未修改,存在安全隐患,请及时修改</strong>',
'重要提示',
{
dangerouslyUseHTMLString: true,
}
)
}
}
if (!res) { if (!res) {
console.log('登录-195') console.log('登录-195')
getCode() getCode()
@ -273,6 +287,16 @@
authUtil.removeLoginForm() authUtil.removeLoginForm()
} }
authUtil.setToken(res) authUtil.setToken(res)
if(getSystermUpdateAlert()=='true'||getSystermUpdateAlert()===true){
await ElMessageBox.alert(
'<strong>系统迁移,请移步至</strong>' +
`<a href=${getSystermUpdateUrl()} target="_blank">${getSystermUpdateUrl()}</a>`,
'重要提示',
{
dangerouslyUseHTMLString: true,
}
)
}
if (!redirect.value) { if (!redirect.value) {
redirect.value = '/' redirect.value = '/'
} }
@ -286,20 +310,13 @@
// //
const { wsCache } = useCache() const { wsCache } = useCache()
wsCache.set(CACHE_KEY.DEPT, await DeptApi.getSimpleDeptList()) wsCache.set(CACHE_KEY.DEPT, await DeptApi.getSimpleDeptList())
}catch (e) { }finally {
if(e.code === 1002000010){
setTimeout(function (){
router.push({path:"/updatePasswordNewTips",query:{username:loginData.loginForm.username}})
},3000)
}
} finally {
console.log('登录-224') console.log('登录-224')
getCode()
loginLoading.value = false loginLoading.value = false
loading?.value?.close() loading?.value?.close()
getCode()
} }
} }
// //
const doSocialLogin = async (type : number) => { const doSocialLogin = async (type : number) => {
if (type === 0) { if (type === 0) {

6
src/views/login/components/QRCodePDA.vue

@ -5,14 +5,18 @@
<!-- <vue-qr bgSrc='https://img2.baidu.com/it/u=1188690822,3145215011&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1038' logoSrc="https://img1.baidu.com/it/u=605875105,1314303687&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500" text="Hello world!" :size="200"></vue-qr> --> <!-- <vue-qr bgSrc='https://img2.baidu.com/it/u=1188690822,3145215011&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1038' logoSrc="https://img1.baidu.com/it/u=605875105,1314303687&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500" text="Hello world!" :size="200"></vue-qr> -->
<vue-qr :text="apkUrl" :size="200" ></vue-qr> <vue-qr :text="apkUrl" :size="200" ></vue-qr>
</div> </div>
<el-button type="primary" link @click="handleClose">PDA安装程序下载链接</el-button> <el-button type="primary" v-if="pdaUrl" link @click="handleClose">PDA安装程序下载链接</el-button>
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { downloadApk } from "@/api/login"; import { downloadApk } from "@/api/login";
import { getPDAUrl,getNeedCode } from '@/utils/systemParam'
// import logoImg from '@/assets/imgs/logo_white_blue.png' // import logoImg from '@/assets/imgs/logo_white_blue.png'
import vueQr from 'vue-qr/src/packages/vue-qr.vue' import vueQr from 'vue-qr/src/packages/vue-qr.vue'
const pdaUrl = ref(getPDAUrl()==true||getPDAUrl()=='true')
const apkUrl = ref('') const apkUrl = ref('')
const showCode = ref(false) const showCode = ref(false)
const handleClose = async ()=>{ const handleClose = async ()=>{

2
src/views/qms/inspectionJob/detail.vue

@ -39,7 +39,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="编码"> <el-form-item label="编码">
<el-input <el-input
v-model="item.inspectionJobCharacteristicsRespVO.number" v-model="item.inspectionFeatureCode"
placeholder="根据系统生成" placeholder="根据系统生成"
:disabled="true" :disabled="true"
/> />

225
src/views/qms/inspectionQ2/index.vue

@ -108,6 +108,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
import * as StdcostpriceApi from '@/api/wms/stdcostprice' import * as StdcostpriceApi from '@/api/wms/stdcostprice'
import * as SalepriceApi from '@/api/wms/saleprice'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as SupplieritemApi from '@/api/wms/supplieritem' import * as SupplieritemApi from '@/api/wms/supplieritem'
import * as SupplierApi from '@/api/wms/supplier' import * as SupplierApi from '@/api/wms/supplier'
@ -140,10 +141,67 @@ const clearSearchInput = (formField) => {
item.componentProps.options = [] item.componentProps.options = []
} }
}) })
if (basicFormRef.value.formRef.formModel.lightItemCode) {
basicFormRef.value.formRef.setValues({
lightQty: 0,
claimAmount: '',
otherClaimAmount: 0,
summaryAmount: 0,
disbursementAmount: 0,
remainingAmount: 0
})
const params2 = {
by: 'ASC',
filters: [
{
column: 'itemCode',
action: '==',
value: basicFormRef.value.formRef.formModel.lightItemCode
},
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1,
pageSize: 500,
sort: ''
}
params2.isSearch = true
SalepriceApi.getSalepricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
basicFormRef.value.formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
basicFormRef.value.formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
basicFormRef.value.formRef.setValues({
standardCostPrice: 0
})
}
})
}
})
} else {
basicFormRef.value.formRef.setValues({
standardCostPrice: ''
})
}
} }
if (formField == 'lightItemCode') { if (formField == 'lightItemCode') {
basicFormRef.value.formRef.setValues({ basicFormRef.value.formRef.setValues({
standardCostPrice: '',
lightItemName: '', lightItemName: '',
lightQty: 0, lightQty: 0,
claimAmount: '', claimAmount: '',
@ -152,24 +210,56 @@ const clearSearchInput = (formField) => {
disbursementAmount: 0, disbursementAmount: 0,
remainingAmount: 0 remainingAmount: 0
}) })
const params2 = {
by: 'ASC', if (basicFormRef.value.formRef.formModel.itemCode) {
filters: [ const params2 = {
{ column: 'itemCode', action: '==', value: basicFormRef.value.formRef.formModel.itemCode } by: 'ASC',
], filters: [
pageNo: 1, {
pageSize: 500, column: 'itemCode',
sort: '' action: '==',
} value: basicFormRef.value.formRef.formModel.itemCode
params2.isSearch = true },
StdcostpriceApi.getStdcostpricePage(params2).then((res) => { {
if (res.list?.length > 0) { column: 'available',
priceObj.value = res.list[0] action: '==',
basicFormRef.value.formRef.setValues({ value: 'TRUE'
standardCostPrice: priceObj.value.price }
}) ],
pageNo: 1,
pageSize: 500,
sort: ''
} }
}) params2.isSearch = true
SalepriceApi.getSalepricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
basicFormRef.value.formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
basicFormRef.value.formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
basicFormRef.value.formRef.setValues({
standardCostPrice: 0
})
}
})
}
})
} else {
basicFormRef.value.formRef.setValues({
standardCostPrice: ''
})
}
} }
} }
// //
@ -181,7 +271,14 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
setV['purchaseReceiptNumber'] = '' setV['purchaseReceiptNumber'] = ''
const supplierParams = { const supplierParams = {
by: 'ASC', by: 'ASC',
filters: [{ column: 'code', action: '==', value: val[0].supplierCode }], filters: [
{ column: 'code', action: '==', value: val[0].supplierCode },
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
sort: '' sort: ''
@ -223,18 +320,39 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
setV['remainingAmount'] = 0 setV['remainingAmount'] = 0
const params2 = { const params2 = {
by: 'ASC', by: 'ASC',
filters: [{ column: 'itemCode', action: '==', value: val[0].code }], filters: [
{ column: 'itemCode', action: '==', value: val[0].code },
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
sort: '' sort: ''
} }
params2.isSearch = true params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => { SalepriceApi.getSalepricePage(params2).then((res) => {
if (res.list?.length > 0) { if (res.list?.length > 0) {
priceObj.value = res.list[0] priceObj.value = res.list[0]
formRef.setValues({ formRef.setValues({
standardCostPrice: priceObj.value.price standardCostPrice: priceObj.value.price
}) })
} else {
params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
formRef.setValues({
standardCostPrice: 0
})
}
})
} }
}) })
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
@ -270,7 +388,14 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
const supplieritemParams = { const supplieritemParams = {
by: 'ASC', by: 'ASC',
filters: [{ column: 'itemCode', action: '==', value: val[0].itemCode }], filters: [
{ column: 'itemCode', action: '==', value: val[0].itemCode },
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
sort: '' sort: ''
@ -289,7 +414,14 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
}) })
const itembasicParams = { const itembasicParams = {
by: 'ASC', by: 'ASC',
filters: [{ column: 'code', action: '==', value: val[0].itemCode }], filters: [
{ column: 'code', action: '==', value: val[0].itemCode },
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
sort: '' sort: ''
@ -303,8 +435,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
}) })
} }
}) })
if (basicFormRef.value.formRef.formModel.lightItemCode == null|| if (
basicFormRef.value.formRef.formModel.lightItemCode == '' basicFormRef.value.formRef.formModel.lightItemCode == null ||
basicFormRef.value.formRef.formModel.lightItemCode == ''
) { ) {
setV['standardCostPrice'] = '' setV['standardCostPrice'] = ''
setV['lightQty'] = 0 setV['lightQty'] = 0
@ -315,18 +448,41 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
setV['remainingAmount'] = 0 setV['remainingAmount'] = 0
const params2 = { const params2 = {
by: 'ASC', by: 'ASC',
filters: [{ column: 'itemCode', action: '==', value: val[0].itemCode }], filters: [
{ column: 'itemCode', action: '==', value: val[0].itemCode },
{
column: 'available',
action: '==',
value: 'TRUE'
}
],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
sort: '' sort: ''
} }
params2.isSearch = true params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => { console.log(123)
SalepriceApi.getSalepricePage(params2).then((res) => {
console.log(456)
if (res.list?.length > 0) { if (res.list?.length > 0) {
priceObj.value = res.list[0] priceObj.value = res.list[0]
formRef.setValues({ formRef.setValues({
standardCostPrice: priceObj.value.price standardCostPrice: priceObj.value.price
}) })
} else {
params2.isSearch = true
StdcostpriceApi.getStdcostpricePage(params2).then((res) => {
if (res.list?.length > 0) {
priceObj.value = res.list[0]
formRef.setValues({
standardCostPrice: priceObj.value.price
})
} else {
formRef.setValues({
standardCostPrice: 0
})
}
})
} }
}) })
} }
@ -401,7 +557,12 @@ const onChange = (field, e) => {
const paramsCustomer = { const paramsCustomer = {
by: 'ASC', by: 'ASC',
filters: [ filters: [
{ column: 'code', action: '==', value: basicFormRef.value.formRef.formModel.supplierCode } { column: 'code', action: '==', value: basicFormRef.value.formRef.formModel.supplierCode },
{
column: 'available',
action: '==',
value: 'TRUE'
}
], ],
pageNo: 1, pageNo: 1,
pageSize: 500, pageSize: 500,
@ -582,10 +743,10 @@ const formsSuccess = async (formType, data) => {
// message.error('0') // message.error('0')
// return // return
// } // }
if (!data.standardCostPrice) { // if (!data.standardCostPrice) {
message.error('标准成本价格不能为0或空') // message.error('0')
return // return
} // }
if (data.activeTime == 0) data.activeTime = null if (data.activeTime == 0) data.activeTime = null
if (data.expireTime == 0) data.expireTime = null if (data.expireTime == 0) data.expireTime = null

8
src/views/qms/inspectionQ2/inspectionQ2.data.ts

@ -329,7 +329,7 @@ export const Q2 = useCrudSchemas(
} }
}, },
{ {
label: '整灯物料代码', label: '整灯/分总成物料代码',
field: 'lightItemCode', field: 'lightItemCode',
sort: 'custom', sort: 'custom',
table: { table: {
@ -341,7 +341,7 @@ export const Q2 = useCrudSchemas(
componentProps: { componentProps: {
enterSearch: true, enterSearch: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择整灯/分总成物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题 searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
@ -372,7 +372,7 @@ export const Q2 = useCrudSchemas(
} }
}, },
{ {
label: '整灯物料名称', label: '整灯/分总成物料名称',
field: 'lightItemName', field: 'lightItemName',
sort: 'custom', sort: 'custom',
dictClass: 'string', dictClass: 'string',
@ -454,7 +454,7 @@ export const Q2 = useCrudSchemas(
} }
}, },
{ {
label: '标准成本价格', label: '销售价格',
field: 'standardCostPrice', field: 'standardCostPrice',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,

4
src/views/qms/inspectionQ3/index.vue

@ -106,6 +106,7 @@ import * as InspectionQ3MainApi from '@/api/qms/inspectionQ3/inspectionQ3Main'
import * as InspectionQ3DetailApi from '@/api/qms/inspectionQ3/inspectionQ3Detail' import * as InspectionQ3DetailApi from '@/api/qms/inspectionQ3/inspectionQ3Detail'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as ProductionlineitemApi from '@/api/wms/productionlineitem' import * as ProductionlineitemApi from '@/api/wms/productionlineitem'
import * as ProductionlineApi from '@/api/wms/productionline'
import * as StdcostpriceApi from '@/api/wms/stdcostprice' import * as StdcostpriceApi from '@/api/wms/stdcostprice'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { async } from '@antv/x6/lib/registry/marker/async' import { async } from '@antv/x6/lib/registry/marker/async'
@ -173,7 +174,7 @@ const setTableFormsValues = async (val, index1) => {
newRow['uom'] = val[index1]['uom'] newRow['uom'] = val[index1]['uom']
newRow['qty'] = 0 newRow['qty'] = 0
newRow.defectLocation = val[index1]['productionLineCode'] newRow.defectLocation = val[index1]['productionLineCode']
await ProductionlineitemApi.selectItemCodeToProductionLineCode(val[index1].itemCode).then( await ProductionlineApi.getProductionlineNoPage({}).then(
(res) => { (res) => {
console.log(res) console.log(res)
if (res?.length > 0) { if (res?.length > 0) {
@ -419,7 +420,6 @@ const submitForm = async (formType, submitData) => {
return; return;
} }
let flag = false; let flag = false;
console.log(1111)
data.subList.forEach((item) => { data.subList.forEach((item) => {
if(item.qty == 0){ if(item.qty == 0){
message.warning("数量不能为0") message.warning("数量不能为0")

28
src/views/qms/inspectionQ3/inspectionQ3.data.ts

@ -323,16 +323,18 @@ export const InspectionQ3Detail = useCrudSchemas(
], ],
verificationPage: ProductionlineitemApi.getProductionLineCodelistByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法 verificationPage: ProductionlineitemApi.getProductionLineCodelistByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法
isShowTableFormSearch: true, //tableForm下方是否出现输入框 isShowTableFormSearch: true, //tableForm下方是否出现输入框
isRepeat: true,//tableForm下方输入框是否可以重复添加该条数据 isRepeat: true, //tableForm下方输入框是否可以重复添加该条数据
// 失去焦点校验参数 // 失去焦点校验参数
verificationParams: [{ verificationParams: [
key: 'itemCode', {
action: '==', key: 'itemCode',
value: '', action: '==',
isMainValue: false, value: '',
isSearch: 'true', isMainValue: false,
isFormModel: true, isSearch: 'true',
}] isFormModel: true
}
]
}, },
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
@ -485,16 +487,16 @@ export const InspectionQ3Detail = useCrudSchemas(
filterable: true, filterable: true,
options: [], options: [],
optionsAlias: { optionsAlias: {
labelField: 'productionLineName', labelField: 'code',
valueField: 'productionLineCode' valueField: 'code'
} }
} }
}, },
tableForm: { tableForm: {
type: 'Select', type: 'Select',
filterable: true, filterable: true,
valueField: 'productionLineName', labelField: 'code',
labelField: 'productionLineCode' valueField: 'code'
} }
}, },
{ {

2
src/views/qms/inspectionScheme/detail.vue

@ -340,12 +340,14 @@ onMounted(async () => {
list.forEach((item, index) => { list.forEach((item, index) => {
let obj = { let obj = {
inspectionCode: item.inspectionCode, inspectionCode: item.inspectionCode,
code: item.code,
description: item.description, description: item.description,
inspectionCharCode: item.inspectionCharCode, inspectionCharCode: item.inspectionCharCode,
sequenceCode: item.sequenceCode, sequenceCode: item.sequenceCode,
name: String(index + 1), name: String(index + 1),
inspectionCharacteristicsBaseVO: { inspectionCharacteristicsBaseVO: {
description: item.inspectionCharacteristicsBaseVO.description, description: item.inspectionCharacteristicsBaseVO.description,
code: item.inspectionCharacteristicsBaseVO.code,
featureType: item.inspectionCharacteristicsBaseVO.featureType, featureType: item.inspectionCharacteristicsBaseVO.featureType,
inspectionMethodCode: item.inspectionCharacteristicsBaseVO.inspectionMethodCode, inspectionMethodCode: item.inspectionCharacteristicsBaseVO.inspectionMethodCode,
inspectionMethodName: item.inspectionCharacteristicsBaseVO.inspectionMethodName, inspectionMethodName: item.inspectionCharacteristicsBaseVO.inspectionMethodName,

53
src/views/wms/agvManage/backflushDetailbQad/backflushDetailbQad.data.ts

@ -39,7 +39,6 @@ export const BackflushDetailbQad = useCrudSchemas(reactive<CrudSchema[]>([
field: 'createTime', field: 'createTime',
sort: 'custom', sort: 'custom',
formatter: dateFormatter, formatter: dateFormatter,
isSearch: true,
search: { search: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -50,20 +49,52 @@ export const BackflushDetailbQad = useCrudSchemas(reactive<CrudSchema[]>([
}, },
isForm: false, isForm: false,
}, },
// {
// label: '创建者Id',
// field: 'creator',
// sort: 'custom',
// isForm: false,
// },
{ {
label: '创建者Id', label: '执行状态',
field: 'creator',
sort: 'custom',
isForm: false,
},
{
label: '执行状态0未执行1成功2失败',
field: 'status', field: 'status',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
form: { search: {
component: 'SelectV2' component: 'Select',
}, componentProps: {
options: [{
value: 0,
label: '未执行'
},
{
value: 1,
label: '成功'
},
{
value: 2,
label: '失败'
}]
},
},
form: {
component: 'Select',
componentProps: {
options: [{
value: 0,
label: '未执行'
},
{
value: 1,
label: '成功'
},
{
value: 2,
label: '失败'
}]
},
},
}, },
{ {
label: '操作', label: '操作',

22
src/views/wms/agvManage/backflushDetailbQad/index.vue

@ -27,6 +27,9 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #status="{row}">
<span>{{ row.status==0?'未执行':row.status==1?'成功':'失败'}}</span>
</template>
<template #code="{row}"> <template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
@ -65,7 +68,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
// QAD
defineOptions({ name: 'BackflushDetailbQad' }) defineOptions({ name: 'BackflushDetailbQad' })
const message = useMessage() // const message = useMessage() //
@ -133,8 +136,8 @@ const buttonBaseClick = (val, item) => {
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:backflushDetailbQad:update'}), // defaultButtons.mainListEditBtn({hasPermi:'wms:backflush-detailb-qad:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:backflushDetailbQad:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'wms:backflush-detailb-qad:delete'}), //
] ]
// - // -
@ -149,6 +152,19 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */ /** 添加/修改操作 */
const basicFormRef = ref() const basicFormRef = ref()
const openForm = (type: string, row?: any) => { const openForm = (type: string, row?: any) => {
if(type=='update'){
//
BackflushDetailbQad.allSchemas.formSchema.forEach(item=>{
if(item.field != 'status'){
item.componentProps.disabled = true
}
})
}else{
BackflushDetailbQad.allSchemas.formSchema.forEach(item=>{
item.componentProps.disabled = false
})
}
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }

1
src/views/wms/basicDataManage/itemManage/bom/index.vue

@ -72,6 +72,7 @@ import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// bom // bom
//
defineOptions({ name: 'Bom' }) defineOptions({ name: 'Bom' })
const message = useMessage() // const message = useMessage() //

1
src/views/wms/basicDataManage/itemManage/itembasic/index.vue

@ -93,6 +93,7 @@ import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// //
//
defineOptions({ name: 'Itembasic' }) defineOptions({ name: 'Itembasic' })
const tabsExtend = ref(false) const tabsExtend = ref(false)

1
src/views/wms/basicDataManage/itemManage/packageunit/index.vue

@ -69,6 +69,7 @@ import Detail from '@/components/Detail/src/Detail.vue'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
//
defineOptions({ name: 'Packageunit' }) defineOptions({ name: 'Packageunit' })
const message = useMessage() // const message = useMessage() //

1
src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue

@ -68,6 +68,7 @@ import Detail from '@/components/Detail/src/Detail.vue'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
//
defineOptions({ name: 'ProductionitemcodeSpareitemcode' }) defineOptions({ name: 'ProductionitemcodeSpareitemcode' })
const message = useMessage() // const message = useMessage() //

6
src/views/wms/basicDataManage/strategySetting/strategy/arrivalInspectionStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -60,6 +60,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -74,6 +75,7 @@
style="flex: 1" style="flex: 1"
clearable clearable
@change="changeSupplierType" @change="changeSupplierType"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)" v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)"
@ -93,6 +95,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -108,6 +111,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"

12
src/views/wms/basicDataManage/strategySetting/strategy/batchStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -58,6 +58,7 @@
placeholder="" placeholder=""
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@change="changeSupplierCustomer" @change="changeSupplierCustomer"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -70,6 +71,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -85,6 +87,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"
@ -101,6 +104,7 @@
placeholder="" placeholder=""
@change="changeItemsType" @change="changeItemsType"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="item.label" :label="item.label"
@ -113,6 +117,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -129,6 +134,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemType'" v-if="item.ParamCode == 'ItemType'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)"
@ -145,6 +151,7 @@
multiple multiple
collapse-tags collapse-tags
v-else-if="item.ParamCode == 'AbcClass'" v-else-if="item.ParamCode == 'AbcClass'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)"
@ -159,6 +166,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemGroup'" v-else-if="item.ParamCode == 'ItemGroup'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -166,6 +174,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'Project'" v-else-if="item.ParamCode == 'Project'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -173,6 +182,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemCode'" v-else-if="item.ParamCode == 'ItemCode'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>

22
src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue

@ -36,7 +36,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number key="priority" v-model="formData.priority" :min="0" /> <el-input-number key="priority" v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -60,6 +60,7 @@
placeholder="" placeholder=""
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@change="changeSupplierCustomer" @change="changeSupplierCustomer"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -72,6 +73,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -89,6 +91,7 @@
collapse-tags collapse-tags
filterable filterable
:filter-method="filterMethod" :filter-method="filterMethod"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"
@ -105,6 +108,7 @@
placeholder="" placeholder=""
@change="changeItemsType" @change="changeItemsType"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="item.label" :label="item.label"
@ -117,6 +121,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -133,6 +138,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemType'" v-if="item.ParamCode == 'ItemType'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)"
@ -149,6 +155,7 @@
multiple multiple
collapse-tags collapse-tags
v-else-if="item.ParamCode == 'AbcClass'" v-else-if="item.ParamCode == 'AbcClass'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)"
@ -165,6 +172,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemGroup'" v-if="item.ParamCode == 'ItemGroup'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_GROUP)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_GROUP)"
@ -186,6 +194,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'Project'" v-else-if="item.ParamCode == 'Project'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input key="物料" <el-input key="物料"
v-model="item.Value" v-model="item.Value"
@ -193,6 +202,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemCode'" v-else-if="item.ParamCode == 'ItemCode'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
<!-- 选择重量体积还是面积 --> <!-- 选择重量体积还是面积 -->
@ -202,6 +212,7 @@
placeholder="" placeholder=""
@change="changeCalculation" @change="changeCalculation"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -214,6 +225,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -229,6 +241,7 @@
}`" }`"
clearable clearable
style="flex: 1" style="flex: 1"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
<!-- 库存状态 --> <!-- 库存状态 -->
@ -237,6 +250,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -252,6 +266,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)"
@ -267,6 +282,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -282,6 +298,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)"
@ -297,6 +314,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -313,7 +331,7 @@
/> --> /> -->
<el-input key="库存事务Value" style="flex:1" placeholder="请选择库存事务" disabled v-model="item.Value" @blur="blurTransactionType"> <el-input key="库存事务Value" style="flex:1" placeholder="请选择库存事务" disabled v-model="item.Value" @blur="blurTransactionType">
<template #suffix> <template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType"> <el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType">
<Icon icon="ep:search" class="mr-5px" /> <Icon icon="ep:search" class="mr-5px" />
</el-button> </el-button>
</template> </template>

8
src/views/wms/basicDataManage/strategySetting/strategy/inspectStrategy/AddForm.vue

@ -36,7 +36,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -57,6 +57,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -71,6 +72,7 @@
style="flex: 1" style="flex: 1"
clearable clearable
@change="changeSupplierType" @change="changeSupplierType"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)" v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)"
@ -96,6 +98,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -109,6 +112,7 @@
placeholder="请选择供应商" placeholder="请选择供应商"
style="flex: 1" style="flex: 1"
clearable clearable
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"
@ -124,6 +128,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -137,6 +142,7 @@
placeholder="请输入物料,多个物料以逗号分隔" placeholder="请输入物料,多个物料以逗号分隔"
clearable clearable
style="flex: 1" style="flex: 1"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>

6
src/views/wms/basicDataManage/strategySetting/strategy/purchaseReceiptStrategy/AddForm.vue

@ -36,7 +36,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -61,6 +61,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -75,6 +76,7 @@
style="flex: 1" style="flex: 1"
clearable clearable
@change="changeSupplierType" @change="changeSupplierType"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)" v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)"
@ -94,6 +96,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -109,6 +112,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"

12
src/views/wms/basicDataManage/strategySetting/strategy/storageCapacityStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -58,6 +58,7 @@
placeholder="" placeholder=""
@change="changeItemsType" @change="changeItemsType"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -70,6 +71,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -86,6 +88,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemType'" v-if="item.ParamCode == 'ItemType'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)"
@ -102,6 +105,7 @@
multiple multiple
collapse-tags collapse-tags
v-else-if="item.ParamCode == 'AbcClass'" v-else-if="item.ParamCode == 'AbcClass'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)"
@ -116,6 +120,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemGroup'" v-else-if="item.ParamCode == 'ItemGroup'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -123,6 +128,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'Project'" v-else-if="item.ParamCode == 'Project'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -130,6 +136,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemCode'" v-else-if="item.ParamCode == 'ItemCode'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
<!-- 仓库 库区 库位组 库位 --> <!-- 仓库 库区 库位组 库位 -->
@ -139,6 +146,7 @@
placeholder="" placeholder=""
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@change="changeWarehouse" @change="changeWarehouse"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -151,6 +159,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -176,6 +185,7 @@
multiple multiple
collapse-tags collapse-tags
style="flex: 1" style="flex: 1"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.warehouseList" v-for="cur in options.warehouseList"

8
src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/AddForm.vue

@ -36,7 +36,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="t('ts.优先级').replace('ts.','')" prop="priority"> <el-form-item :label="t('ts.优先级').replace('ts.','')" prop="priority">
<el-input-number key="priority" v-model="formData.priority" :min="0" /> <el-input-number key="priority" v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -61,6 +61,7 @@
v-model="item.Operator" v-model="item.Operator"
:placeholder="t('ts.请选择范围').replace('ts.','')" :placeholder="t('ts.请选择范围').replace('ts.','')"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="t(`ts.${cur.label}`).replace('ts.','')" :label="t(`ts.${cur.label}`).replace('ts.','')"
@ -75,6 +76,7 @@
style="flex: 1" style="flex: 1"
clearable clearable
@change="changeSupplierType" @change="changeSupplierType"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)" v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)"
@ -94,6 +96,7 @@
v-model="item.Operator" v-model="item.Operator"
:placeholder="t('ts.请选择范围').replace('ts.','')" :placeholder="t('ts.请选择范围').replace('ts.','')"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="t(`ts.${cur.label}`).replace('ts.','')" :label="t(`ts.${cur.label}`).replace('ts.','')"
@ -109,6 +112,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"
@ -128,6 +132,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="t(`ts.${cur.label}`).replace('ts.','')" :label="t(`ts.${cur.label}`).replace('ts.','')"
@ -142,6 +147,7 @@
:label="t(`ts.${cur.label}`).replace('ts.','')" :label="t(`ts.${cur.label}`).replace('ts.','')"
v-for="cur in options.weekOptions" v-for="cur in options.weekOptions"
:key="'星期几Value'+cur.value" :key="'星期几Value'+cur.value"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-checkbox-group> </el-checkbox-group>
</div> </div>

26
src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number key="priority" v-model="formData.priority" :min="0" /> <el-input-number key="priority" v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -58,6 +58,7 @@
placeholder="" placeholder=""
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@change="changeSupplierCustomer" @change="changeSupplierCustomer"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -70,6 +71,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -87,6 +89,7 @@
collapse-tags collapse-tags
filterable filterable
:filter-method="filterMethod" :filter-method="filterMethod"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.supplierList" v-for="cur in options.supplierList"
@ -103,6 +106,7 @@
placeholder="" placeholder=""
@change="changeItemsType" @change="changeItemsType"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="item.label" :label="item.label"
@ -115,6 +119,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -131,6 +136,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemType'" v-if="item.ParamCode == 'ItemType'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)"
@ -147,6 +153,7 @@
multiple multiple
collapse-tags collapse-tags
v-else-if="item.ParamCode == 'AbcClass'" v-else-if="item.ParamCode == 'AbcClass'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)"
@ -161,6 +168,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemGroup'" v-else-if="item.ParamCode == 'ItemGroup'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input key="项目" <el-input key="项目"
v-model="item.Value" v-model="item.Value"
@ -168,6 +176,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'Project'" v-else-if="item.ParamCode == 'Project'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input key="物料" <el-input key="物料"
v-model="item.Value" v-model="item.Value"
@ -175,6 +184,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemCode'" v-else-if="item.ParamCode == 'ItemCode'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
<!-- 选择重量体积还是面积 --> <!-- 选择重量体积还是面积 -->
@ -184,6 +194,7 @@
placeholder="" placeholder=""
@change="changeCalculation" @change="changeCalculation"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -196,6 +207,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -211,6 +223,7 @@
}`" }`"
clearable clearable
style="flex: 1" style="flex: 1"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
<!-- 库存状态 --> <!-- 库存状态 -->
@ -219,6 +232,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -234,6 +248,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)"
@ -249,6 +264,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -264,6 +280,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)"
@ -279,6 +296,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -295,7 +313,7 @@
/> --> /> -->
<el-input key="库存事务Value" style="flex:1" placeholder="请选择库存事务" disabled v-model="item.Value" @blur="blurTransactionType"> <el-input key="库存事务Value" style="flex:1" placeholder="请选择库存事务" disabled v-model="item.Value" @blur="blurTransactionType">
<template #suffix> <template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType"> <el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType">
<Icon icon="ep:search" class="mr-5px" /> <Icon icon="ep:search" class="mr-5px" />
</el-button> </el-button>
</template> </template>
@ -1097,7 +1115,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
} }
if (data.configuration) { if (data.configuration) {
formData.value.configuration = JSON.parse(data.configuration) formData.value.configuration = JSON.parse(data.configuration)
if(!Array.isArray(formData.value.configuration.overflowLocationCode)&&formData.value.configuration.overflowLocationCode.length>0){ if(formData.value.configuration.overflowLocationCode&&!Array.isArray(formData.value.configuration.overflowLocationCode)&&formData.value.configuration.overflowLocationCode.length>0){
formData.value.configuration.overflowLocationCode = formData.value.configuration.overflowLocationCode.split(',') formData.value.configuration.overflowLocationCode = formData.value.configuration.overflowLocationCode.split(',')
} }
} }
@ -1202,7 +1220,7 @@ const submitForm = async () => {
} }
}) })
let configuration = {...formData.value.configuration} let configuration = {...formData.value.configuration}
if(Array.isArray(configuration.overflowLocationCode)){ if(configuration.overflowLocationCode&&Array.isArray(configuration.overflowLocationCode)){
configuration.overflowLocationCode = configuration.overflowLocationCode.join(',') configuration.overflowLocationCode = configuration.overflowLocationCode.join(',')
} }
let data = { let data = {

11
src/views/wms/basicDataManage/strategySetting/strategy/utensilCapacityStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -67,6 +67,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -82,6 +83,7 @@
clearable clearable
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.CONTAINER_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.CONTAINER_TYPE)"
@ -98,6 +100,7 @@
placeholder="" placeholder=""
@change="changeItemsType" @change="changeItemsType"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -110,6 +113,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -126,6 +130,7 @@
multiple multiple
collapse-tags collapse-tags
v-if="item.ParamCode == 'ItemType'" v-if="item.ParamCode == 'ItemType'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)"
@ -142,6 +147,7 @@
multiple multiple
collapse-tags collapse-tags
v-else-if="item.ParamCode == 'AbcClass'" v-else-if="item.ParamCode == 'AbcClass'"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)"
@ -156,6 +162,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemGroup'" v-else-if="item.ParamCode == 'ItemGroup'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -163,6 +170,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'Project'" v-else-if="item.ParamCode == 'Project'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
<el-input <el-input
v-model="item.Value" v-model="item.Value"
@ -170,6 +178,7 @@
clearable clearable
style="flex: 1" style="flex: 1"
v-else-if="item.ParamCode == 'ItemCode'" v-else-if="item.ParamCode == 'ItemCode'"
:disabled="formData.name=='默认规则'&&formType=='update'"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>

5
src/views/wms/basicDataManage/strategySetting/strategy/warehouseStorageStrategy/AddForm.vue

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input-number v-model="formData.priority" :min="0" /> <el-input-number v-model="formData.priority" :min="0" :disabled="formData.name=='默认规则'&&formType=='update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -59,6 +59,7 @@
placeholder="" placeholder=""
style="width: 120px; margin-right: 10px" style="width: 120px; margin-right: 10px"
@change="changeWarehouse" @change="changeWarehouse"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -71,6 +72,7 @@
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
:label="cur.label" :label="cur.label"
@ -96,6 +98,7 @@
style="flex: 1" style="flex: 1"
multiple multiple
collapse-tags collapse-tags
:disabled="formData.name=='默认规则'&&formType=='update'"
> >
<el-option <el-option
v-for="cur in options.warehouseList" v-for="cur in options.warehouseList"

37
src/views/wms/basicDataManage/supplierManage/supplieritem/index.vue

@ -69,6 +69,7 @@ import Detail from '@/components/Detail/src/Detail.vue'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
//
defineOptions({ name: 'Supplieritem' }) defineOptions({ name: 'Supplieritem' })
const message = useMessage() // const message = useMessage() //
@ -195,22 +196,25 @@ const formsSuccess = async (formType,data) => {
if(data.activeTime==0)data.activeTime = null; if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null; if(data.expireTime==0)data.expireTime = null;
basicFormRef.value.formLoading = true basicFormRef.value.formLoading = true
if (formType === 'create') { try {
if(routeName.value.includes('SCP')){ if (formType === 'create') {
await SupplieritemApi.createSupplieritemSCP(data) if(routeName.value.includes('SCP')){
}else{ await SupplieritemApi.createSupplieritemSCP(data)
await SupplieritemApi.createSupplieritem(data) }else{
} await SupplieritemApi.createSupplieritem(data)
message.success(t('common.createSuccess')) }
} else { message.success(t('common.createSuccess'))
if(routeName.value.includes('SCP')){ } else {
await SupplieritemApi.updateSupplieritemSCP(data) if(routeName.value.includes('SCP')){
}else{ await SupplieritemApi.updateSupplieritemSCP(data)
await SupplieritemApi.updateSupplieritem(data) }else{
await SupplieritemApi.updateSupplieritem(data)
}
message.success(t('common.updateSuccess'))
} }
message.success(t('common.updateSuccess')) } finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.formLoading = false
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
if (formType === 'create') { if (formType === 'create') {
getList() getList()
@ -224,6 +228,11 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => { nextTick(() => {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
if(formField == 'supplierCode'){
setV['supplierName'] = val[0]['name']
}else if(formField == 'itemCode'){
setV['itemName'] = val[0]['name']
}
formRef.setValues(setV) formRef.setValues(setV)
}) })
} }

26
src/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data.ts

@ -56,6 +56,19 @@ export const Supplieritem = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '供应商名称',
field: 'supplierName',
isForm:true,
form:{
componentProps:{
disabled: true
}
},
table: {
width: 180
}
},
{ {
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
@ -90,6 +103,19 @@ export const Supplieritem = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '物料名称',
field: 'itemName',
isForm:true,
form:{
componentProps:{
disabled: true
}
},
table: {
width: 180
}
},
{ {
label: '供应商物料代码', label: '供应商物料代码',
field: 'supplierItemCode', field: 'supplierItemCode',

192
src/views/wms/inventoryManage/balance/balance.data.ts

@ -31,6 +31,7 @@ export const Balance = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
hiddenSearchHigh: true,// 高级筛选中隐藏
isSearch: true isSearch: true
}, },
{ {
@ -40,24 +41,7 @@ export const Balance = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isSearch: true hiddenSearchHigh: true,// 高级筛选中隐藏
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isSearch: true
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isSearch: true isSearch: true
}, },
{ {
@ -80,6 +64,15 @@ export const Balance = useCrudSchemas(
}, },
isSearch: true isSearch: true
}, },
{
label: '供应商批次',
field: 'altBatch',
sort: 'custom',
table: {
width: 150
},
isSearch: false
},
{ {
label: '包装号', label: '包装号',
field: 'packingNumber', field: 'packingNumber',
@ -508,6 +501,169 @@ export const Balance = useCrudSchemas(
]) ])
) )
export const TransactionTab = useCrudSchemas(reactive<CrudSchema[]>([
{
label: 'id',
field: 'id',
sort: 'custom',
isTable: true,
isForm: true,
isDetail:true,
},
{
label: '创建时间',
field: 'createTime',
isTable: true,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 150
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
},
{
label: '业务类型',
field: 'businessType',
sort: 'custom',
table: {
width: 150
},
},
{
label: '事务类型',
field: 'transactionType',
sort: 'custom',
table: {
width: 150
},
},
{
label: '库存动作',
field: 'inventoryAction',
dictType: DICT_TYPE.INVENTORY_ACTION,
dictClass: 'string',
isTable: true,
isSearch: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '业务记录号',
field: 'recordNumber',
sort: 'custom',
isTable: true,
isSearch: true,
table: {
width: 180
},
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '替代批次',
field: 'altBatch',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '库位代码',
field: 'locationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isSearch: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '事务号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true
}
]))
// 表单校验 // 表单校验
export const BalanceRules = reactive({ export const BalanceRules = reactive({
packingNumber: [ packingNumber: [

40
src/views/wms/inventoryManage/balance/index.vue

@ -52,7 +52,20 @@
/> />
<!-- 详情 --> <!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="Balance.allSchemas" /> <Detail
ref="detailRef"
:isBasic="true"
:allSchemas="TransactionTab.allSchemas"
:detailAllSchemas="TransactionTab.allSchemas"
:apiPage="apiPage"
:tabsExtend="tabsExtend"
:tabs="[{
label: '库存事务',
prop: 'Transaction'
}]"
@changeTabs="changeTabs"
:tableObjectExtend="tableObjectExtend"
/>
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/balance/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm ref="importFormRef" url="/wms/balance/import" :importTemplateData="importTemplateData" @success="importSuccess" />
@ -64,7 +77,7 @@ import download from '@/utils/download'
import * as BalanceApi from '@/api/wms/balance' import * as BalanceApi from '@/api/wms/balance'
import * as PackageApi from '@/api/wms/package' import * as PackageApi from '@/api/wms/package'
import BasicForm from '@/components/BasicForm/src/BasicForm.vue' import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import { Balance, BalanceRules } from './balance.data' import { Balance,TransactionTab, BalanceRules } from './balance.data'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
@ -84,6 +97,9 @@ const route = useRoute() //路由信息
const routeName = ref() const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref(Balance.allSchemas.tableColumns) const tableColumns = ref(Balance.allSchemas.tableColumns)
const tabsExtend = ref(false)
const apiPage = ref()
const tableObjectExtend = ref()
// //
const updataTableColumns = (val) => { const updataTableColumns = (val) => {
@ -245,7 +261,9 @@ const openForm = (type: string, row?: any) => {
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const chooseRow = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => { const openDetail = (row: any, titleName: any, titleValue: any) => {
chooseRow.value = row
detailRef.value.openDetail(row, titleName, titleValue,'transactionBalance') detailRef.value.openDetail(row, titleName, titleValue,'transactionBalance')
} }
@ -330,7 +348,23 @@ const searchFormClick = (searchData) => {
} }
getList() // getList() //
} }
const changeTabs = (item) => {
if (item.prop == 'Transaction') {
tabsExtend.value = true
//
tableObjectExtend.value = [{
key: 'masterId',
value: chooseRow.value.id
}]
apiPage.value = BalanceApi.getTransactionBalancePage
console.log(988,tableObjectExtend.value)
} else {
tableObjectExtend.value = []
tabsExtend.value = false
apiPage.value = ''
}
}
/** 初始化 **/ /** 初始化 **/
onMounted(async() => { onMounted(async() => {
getList() getList()

80
src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts

@ -168,6 +168,9 @@ export const ScrapJobMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '订单号', label: '订单号',
@ -176,6 +179,27 @@ export const ScrapJobMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
},
{
label: '出库原因',
field: 'outboundReason',
dictType: DICT_TYPE.UNPLANNED_ISSUE_REASON,
dictClass: 'string',
table: {
width: 150
},
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
}, },
{ {
label: 'Q1通知单号', label: 'Q1通知单号',
@ -248,6 +272,9 @@ export const ScrapJobMain = useCrudSchemas(
table: { table: {
width: 180 width: 180
}, },
isTable:false,
isForm:false,
isTableForm:false,
form: { form: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -264,6 +291,9 @@ export const ScrapJobMain = useCrudSchemas(
detail: { detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss' dateFormat: 'YYYY-MM-DD HH:mm:ss'
}, },
isTable:false,
isForm:false,
isTableForm:false,
sort: 'custom', sort: 'custom',
table: { table: {
width: 180 width: 180
@ -283,7 +313,7 @@ export const ScrapJobMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
}, },
{ {
label: '从库区代码范围', label: '从库区代码范围',
@ -291,7 +321,10 @@ export const ScrapJobMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '从库区类型范围', label: '从库区类型范围',
@ -309,11 +342,13 @@ export const ScrapJobMain = useCrudSchemas(
field: 'toAreaTypes', field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE, dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string', dictClass: 'string',
isTable: true,
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
// { // {
// label: '状态', // label: '状态',
@ -332,7 +367,10 @@ export const ScrapJobMain = useCrudSchemas(
}, },
form: { form: {
component: 'InputNumber' component: 'InputNumber'
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '优先级增量', label: '优先级增量',
@ -343,7 +381,10 @@ export const ScrapJobMain = useCrudSchemas(
}, },
form: { form: {
component: 'InputNumber' component: 'InputNumber'
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '业务类型', label: '业务类型',
@ -367,7 +408,10 @@ export const ScrapJobMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '单据备注', label: '单据备注',
@ -867,25 +911,11 @@ export const ScrapJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
}, },
}, },
{ {
label: '原因', label: '报废原因',
field: 'reason', field: 'reason',
dictType: DICT_TYPE.SCRAP_REASON,
dictClass: 'string',
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return cellValue
},
table: { table: {
width: 150 width: 150
}, },
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
}, },
{ {
label: '货主代码', label: '货主代码',
@ -894,6 +924,9 @@ export const ScrapJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
// { // {
// label: '项目代码', // label: '项目代码',
@ -910,6 +943,9 @@ export const ScrapJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '创建时间', label: '创建时间',

59
src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts

@ -138,6 +138,24 @@ export const ScrapRecordMain = useCrudSchemas(
} }
} }
}, },
{
label: '出库原因',
field: 'outboundReason',
dictType: DICT_TYPE.UNPLANNED_ISSUE_REASON,
dictClass: 'string',
table: {
width: 150
},
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
},
{ {
label: '项目代码', label: '项目代码',
field: 'projectCode', field: 'projectCode',
@ -177,6 +195,9 @@ export const ScrapRecordMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '订单号', label: '订单号',
@ -185,6 +206,9 @@ export const ScrapRecordMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: 'Q1通知单号', label: 'Q1通知单号',
@ -244,6 +268,9 @@ export const ScrapRecordMain = useCrudSchemas(
table: { table: {
width: 180 width: 180
}, },
isTable:false,
isForm:false,
isTableForm:false,
form: { form: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -319,7 +346,10 @@ export const ScrapRecordMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '出库事务类型', label: '出库事务类型',
@ -370,7 +400,10 @@ export const ScrapRecordMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '单据备注', label: '单据备注',
@ -661,25 +694,11 @@ export const ScrapRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
}, },
}, },
{ {
label: '原因', label: '报废原因',
field: 'reason', field: 'reason',
dictType: DICT_TYPE.SCRAP_REASON,
dictClass: 'string',
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return cellValue
},
table: { table: {
width: 150 width: 150
}, },
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
}, },
{ {
label: '单价', label: '单价',
@ -726,6 +745,9 @@ export const ScrapRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
// { // {
// label: '项目代码', // label: '项目代码',
@ -742,6 +764,9 @@ export const ScrapRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
isTable:false,
isForm:false,
isTableForm:false,
}, },
{ {
label: '接口类型', label: '接口类型',

74
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts

@ -153,6 +153,8 @@ export const ScrapRequestMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isForm:false,
isTable:false,
form: { form: {
componentProps: { componentProps: {
disabled: true disabled: true
@ -281,6 +283,8 @@ export const ScrapRequestMain = useCrudSchemas(
label: '工作中心', label: '工作中心',
field: 'workCenter', field: 'workCenter',
sort: 'custom', sort: 'custom',
isTable:false,
isForm:false,
table: { table: {
width: 150 width: 150
}, },
@ -289,10 +293,30 @@ export const ScrapRequestMain = useCrudSchemas(
label: '订单号', label: '订单号',
field: 'orderNumber', field: 'orderNumber',
sort: 'custom', sort: 'custom',
isTable:false,
isForm:false,
table: { table: {
width: 150 width: 150
}, },
}, },
{
label: '出库原因',
field: 'outboundReason',
dictType: DICT_TYPE.UNPLANNED_ISSUE_REASON,
dictClass: 'string',
table: {
width: 150
},
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
},
{ {
label: 'Q1通知单号', label: 'Q1通知单号',
field: 'q1Number', field: 'q1Number',
@ -480,6 +504,9 @@ export const ScrapRequestMain = useCrudSchemas(
table: { table: {
width: 180 width: 180
}, },
isTable:false,
isForm:false,
isTableForm:false,
form: { form: {
component: 'DatePicker', component: 'DatePicker',
componentProps: { componentProps: {
@ -564,8 +591,9 @@ export const ScrapRequestMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isSearch: true, isSearch: false,
isForm: false isForm: false,
isTableForm: false,
}, },
{ {
label: '从库区代码范围', label: '从库区代码范围',
@ -574,7 +602,9 @@ export const ScrapRequestMain = useCrudSchemas(
table: { table: {
width: 150 width: 150
}, },
isForm: false isForm: false,
isTableForm: false,
isTable:false,
}, },
{ {
label: '业务类型', label: '业务类型',
@ -620,6 +650,8 @@ export const ScrapRequestMain = useCrudSchemas(
label: '通知单描述', label: '通知单描述',
field: 'noticeRemark', field: 'noticeRemark',
sort: 'custom', sort: 'custom',
isForm:false,
isTable:false,
table: { table: {
width: 150 width: 150
} }
@ -630,7 +662,10 @@ export const ScrapRequestMain = useCrudSchemas(
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
} },
isTable:false,
isForm:false,
isTableForm:false
}, },
{ {
label: '自动提交', label: '自动提交',
@ -1023,13 +1058,13 @@ export const ScrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
component: 'InputNumber', component: 'InputNumber',
componentProps: { componentProps: {
min: 0, min: 0,
precision: 6 precision: 2
} }
}, },
tableForm: { tableForm: {
type: 'InputNumber', type: 'InputNumber',
min: 0, min: 0,
precision: 6 precision: 2
} }
}, },
{ {
@ -1122,30 +1157,19 @@ export const ScrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false, isForm: false,
}, },
{ {
label: '原因', label: '报废原因',
field: 'reason', field: 'reason',
dictType: DICT_TYPE.SCRAP_REASON,
dictClass: 'string',
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return cellValue
},
table: { table: {
width: 150 width: 150
}, },
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
}, },
{ {
label: '项目订单号', label: '项目订单号',
field: 'projectOrderNumber', field: 'projectOrderNumber',
sort: 'custom', sort: 'custom',
isTable:false,
isForm:false,
isTableForm:false,
table: { table: {
width: 150 width: 150
}, },
@ -1159,6 +1183,7 @@ export const ScrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
}, },
isTableForm: false, isTableForm: false,
isForm: false, isForm: false,
isTable:false,
}, },
{ {
label: '项目代码', label: '项目代码',
@ -1169,11 +1194,15 @@ export const ScrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
}, },
isTableForm: false, isTableForm: false,
isForm: false, isForm: false,
isTable:false,
}, },
{ {
label: '明细备注', label: '明细备注',
field: 'remark', field: 'remark',
sort: 'custom', sort: 'custom',
isTable:false,
isForm:false,
isTableForm:false,
table: { table: {
width: 150 width: 150
}, },
@ -1280,4 +1309,7 @@ export const ScrapRequestDetailRules = reactive({
remark: [ remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' } { max: 50, message: '不得超过50个字符', trigger: 'blur' }
], ],
reason: [
{ required: true, message: '请输入报废原因', trigger: 'change' }
],
}) })

22
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueJobMain/unplannedissueJobMain.data.ts

@ -317,17 +317,17 @@ export const UnplannedissueJobMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
}, },
{ // {
label: '到库区类型范围', // label: '到库区类型范围',
field: 'toAreaTypes', // field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE, // dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string', // dictClass: 'string',
isTable: true, // isTable: true,
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 150 // width: 150
}, // },
}, // },
{ {
label: '优先级', label: '优先级',
field: 'priority', field: 'priority',

1
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts

@ -651,6 +651,7 @@ export const UnplannedissueRequestMainRules = reactive({
{ required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' } { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
], ],
remarkMain: [ remarkMain: [
{ required: true, message: '请输入单据备注', trigger: 'blur' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' } { max: 50, message: '不得超过50个字符', trigger: 'blur' }
], ],
usageDescription:[ usageDescription:[

1
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue

@ -795,6 +795,7 @@ const handleImport = () => {
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
dataType:'1',
templateUrl: '', templateUrl: '',
templateTitle: `${route.meta.title}】导入模版.xlsx` templateTitle: `${route.meta.title}】导入模版.xlsx`
}) })

1
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts

@ -669,6 +669,7 @@ export const UnplannedreceiptRequestMainRules = reactive({
{ required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' } { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
], ],
remarkMain: [ remarkMain: [
{ required: true, message: '请输入单据备注', trigger: 'blur' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' } { max: 50, message: '不得超过50个字符', trigger: 'blur' }
], ],
usageDescription:[ usageDescription:[

8
src/views/wms/moveManage/inventorymove/inventorymoveJobMain/inventorymoveJobMain.data.ts

@ -680,6 +680,14 @@ export const InventorymoveJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
}, },
{
label: '供应商批次',
field: 'altBatch',
sort: 'custom',
table: {
width: 150
},
},
{ {
label: '包装号', label: '包装号',
field: 'packingNumber', field: 'packingNumber',

8
src/views/wms/moveManage/inventorymove/inventorymoveRecordMain/inventorymoveRecordMain.data.ts

@ -473,6 +473,14 @@ export const InventorymoveRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
}, },
{
label: '供应商批次',
field: 'altBatch',
sort: 'custom',
table: {
width: 150
},
},
{ {
label: '从包装号', label: '从包装号',
field: 'fromPackingNumber', field: 'fromPackingNumber',

34
src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue

@ -90,6 +90,7 @@ import * as InventorymoveRequestDetailApi from '@/api/wms/inventorymoveRequestDe
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
import {importTemplateHoldOk} from "@/api/wms/inventorymoveRequestMain";
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// //
defineOptions({ name: 'InventorymoveRequestMain' }) defineOptions({ name: 'InventorymoveRequestMain' })
@ -122,8 +123,8 @@ if ( routeName.value == 'OktoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'OkToHold' businessType :'OkToHold'
} }
// fromInventoryStatus.value = 'OK' fromInventoryStatus.value = 'OK'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'OkToHold' businessType.value = 'OkToHold'
importFileName.value = '物料转隔离申请' importFileName.value = '物料转隔离申请'
} }
@ -133,8 +134,8 @@ else if ( routeName.value == 'NoktoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'NokToHold' businessType :'NokToHold'
} }
// fromInventoryStatus.value = 'NOK' fromInventoryStatus.value = 'NOK'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'NokToHold' businessType.value = 'NokToHold'
importFileName.value = '不合格转隔离申请' importFileName.value = '不合格转隔离申请'
} }
@ -144,8 +145,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'OK', // toInventoryStatus:'OK',
businessType :'HoldToOk' businessType :'HoldToOk'
} }
// fromInventoryStatus.value = 'HOLD' fromInventoryStatus.value = 'HOLD'
// toInventoryStatus.value = "OK" toInventoryStatus.value = "OK"
businessType.value = 'HoldToOk' businessType.value = 'HoldToOk'
importFileName.value = '隔离转合格申请' importFileName.value = '隔离转合格申请'
} else if ( routeName.value == 'HoldtoscrapRequestMain') { } else if ( routeName.value == 'HoldtoscrapRequestMain') {
@ -154,8 +155,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'SCRAP', // toInventoryStatus:'SCRAP',
businessType:'HoldToScrap' businessType:'HoldToScrap'
} }
// fromInventoryStatus.value = 'HOLD' fromInventoryStatus.value = 'HOLD'
// toInventoryStatus.value = "SCRAP" toInventoryStatus.value = "SCRAP"
businessType.value = 'HoldToScrap' businessType.value = 'HoldToScrap'
importFileName.value = '隔离转报废申请' importFileName.value = '隔离转报废申请'
} else if ( routeName.value == 'OktoscrapRequestMain') { } else if ( routeName.value == 'OktoscrapRequestMain') {
@ -164,8 +165,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'SCRAP', // toInventoryStatus:'SCRAP',
businessType :'OkToScrap' businessType :'OkToScrap'
} }
// fromInventoryStatus.value = 'OK' fromInventoryStatus.value = 'OK'
// toInventoryStatus.value = "SCRAP" toInventoryStatus.value = "SCRAP"
businessType.value = 'OkToScrap' businessType.value = 'OkToScrap'
importFileName.value = '合格转报废申请' importFileName.value = '合格转报废申请'
} }
@ -175,8 +176,8 @@ else if ( routeName.value == 'ScraptoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'ScrapToHold' businessType :'ScrapToHold'
} }
// fromInventoryStatus.value = 'SCRAP' fromInventoryStatus.value = 'SCRAP'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'ScrapToHold' businessType.value = 'ScrapToHold'
importFileName.value = '报废转隔离申请' importFileName.value = '报废转隔离申请'
} else { } else {
@ -818,9 +819,16 @@ const searchList = (model)=>{
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
getList() getList()
//
if(routeName.value == "InventorymoveRequestMain"){ if(routeName.value == "InventorymoveRequestMain"){
importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplate() importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplate()
}else { }
//
else if(routeName.value == "HoldtookRequestMain"){
console.log("sssssssssssssssss");
importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplateHoldOk()
}
else {
importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplateExceptMove() importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplateExceptMove()
} }
}) })

24
src/views/wms/moveManage/inventorymove/inventorymoveRequestMainMOVE/index.vue

@ -123,8 +123,8 @@ if ( routeName.value == 'OktoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'OkToHold' businessType :'OkToHold'
} }
// fromInventoryStatus.value = 'OK' fromInventoryStatus.value = 'OK'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'OkToHold' businessType.value = 'OkToHold'
importFileName.value = '物料转隔离申请' importFileName.value = '物料转隔离申请'
} }
@ -134,8 +134,8 @@ else if ( routeName.value == 'NoktoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'NokToHold' businessType :'NokToHold'
} }
// fromInventoryStatus.value = 'NOK' fromInventoryStatus.value = 'NOK'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'NokToHold' businessType.value = 'NokToHold'
importFileName.value = '不合格转隔离申请' importFileName.value = '不合格转隔离申请'
} }
@ -145,8 +145,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'OK', // toInventoryStatus:'OK',
businessType :'HoldToOk' businessType :'HoldToOk'
} }
// fromInventoryStatus.value = 'HOLD' fromInventoryStatus.value = 'HOLD'
// toInventoryStatus.value = "OK" toInventoryStatus.value = "OK"
businessType.value = 'HoldToOk' businessType.value = 'HoldToOk'
importFileName.value = '隔离转合格申请' importFileName.value = '隔离转合格申请'
} else if ( routeName.value == 'HoldtoscrapRequestMain') { } else if ( routeName.value == 'HoldtoscrapRequestMain') {
@ -155,8 +155,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'SCRAP', // toInventoryStatus:'SCRAP',
businessType:'HoldToScrap' businessType:'HoldToScrap'
} }
// fromInventoryStatus.value = 'HOLD' fromInventoryStatus.value = 'HOLD'
// toInventoryStatus.value = "SCRAP" toInventoryStatus.value = "SCRAP"
businessType.value = 'HoldToScrap' businessType.value = 'HoldToScrap'
importFileName.value = '隔离转报废申请' importFileName.value = '隔离转报废申请'
} else if ( routeName.value == 'OktoscrapRequestMain') { } else if ( routeName.value == 'OktoscrapRequestMain') {
@ -165,8 +165,8 @@ else if ( routeName.value == 'HoldtookRequestMain') {
// toInventoryStatus:'SCRAP', // toInventoryStatus:'SCRAP',
businessType :'OkToScrap' businessType :'OkToScrap'
} }
// fromInventoryStatus.value = 'OK' fromInventoryStatus.value = 'OK'
// toInventoryStatus.value = "SCRAP" toInventoryStatus.value = "SCRAP"
businessType.value = 'OkToScrap' businessType.value = 'OkToScrap'
importFileName.value = '合格转报废申请' importFileName.value = '合格转报废申请'
} }
@ -176,8 +176,8 @@ else if ( routeName.value == 'ScraptoholdRequestMain') {
// toInventoryStatus:'HOLD', // toInventoryStatus:'HOLD',
businessType :'ScrapToHold' businessType :'ScrapToHold'
} }
// fromInventoryStatus.value = 'SCRAP' fromInventoryStatus.value = 'SCRAP'
// toInventoryStatus.value = "HOLD" toInventoryStatus.value = "HOLD"
businessType.value = 'ScrapToHold' businessType.value = 'ScrapToHold'
importFileName.value = '报废转隔离申请' importFileName.value = '报废转隔离申请'
} else { } else {

77
src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue

@ -116,15 +116,76 @@ const { tableObject, tableMethods } = useTable({
getListApi: InventorymoveRequestDetailApi.getInventorymoveRequestDetailPage // getListApi: InventorymoveRequestDetailApi.getInventorymoveRequestDetailPage //
}) })
tableObject.params = { if ( routeName.value == 'OktoholdRequestMain') {
// fromInventoryStatus: 'OK', tableObject.params = {
// toInventoryStatus:'HOLD', // fromInventoryStatus: 'OK',
businessType :'OkToHold' // toInventoryStatus:'HOLD',
businessType :'OkToHold'
}
fromInventoryStatus.value = 'OK'
toInventoryStatus.value = "HOLD"
businessType.value = 'OkToHold'
importFileName.value = '物料转隔离申请'
}
else if ( routeName.value == 'NoktoholdRequestMain') {
tableObject.params = {
// fromInventoryStatus: 'NOK',
// toInventoryStatus:'HOLD',
businessType :'NokToHold'
}
fromInventoryStatus.value = 'NOK'
toInventoryStatus.value = "HOLD"
businessType.value = 'NokToHold'
importFileName.value = '不合格转隔离申请'
}
else if ( routeName.value == 'HoldtookRequestMain') {
tableObject.params = {
// fromInventoryStatus: 'HOLD',
// toInventoryStatus:'OK',
businessType :'HoldToOk'
}
fromInventoryStatus.value = 'HOLD'
toInventoryStatus.value = "OK"
businessType.value = 'HoldToOk'
importFileName.value = '隔离转合格申请'
} else if ( routeName.value == 'HoldtoscrapRequestMain') {
tableObject.params = {
// fromInventoryStatus: 'HOLD',
// toInventoryStatus:'SCRAP',
businessType:'HoldToScrap'
}
fromInventoryStatus.value = 'HOLD'
toInventoryStatus.value = "SCRAP"
businessType.value = 'HoldToScrap'
importFileName.value = '隔离转报废申请'
} else if ( routeName.value == 'OktoscrapRequestMain') {
tableObject.params = {
// fromInventoryStatus: 'OK',
// toInventoryStatus:'SCRAP',
businessType :'OkToScrap'
}
fromInventoryStatus.value = 'OK'
toInventoryStatus.value = "SCRAP"
businessType.value = 'OkToScrap'
importFileName.value = '合格转报废申请'
}
else if ( routeName.value == 'ScraptoholdRequestMain') {
tableObject.params = {
// fromInventoryStatus: 'SCRAP',
// toInventoryStatus:'HOLD',
businessType :'ScrapToHold'
}
fromInventoryStatus.value = 'SCRAP'
toInventoryStatus.value = "HOLD"
businessType.value = 'ScrapToHold'
importFileName.value = '报废转隔离申请'
} else {
tableObject.params = {
businessType :'Move'
}
businessType.value = 'Move'
importFileName.value = '库存移动申请'
} }
// fromInventoryStatus.value = 'OK'
// toInventoryStatus.value = "HOLD"
businessType.value = 'OkToHold'
importFileName.value = '物料转隔离申请'
InventorymoveRequestMain.allSchemas.tableFormColumns.map(item =>{ InventorymoveRequestMain.allSchemas.tableFormColumns.map(item =>{
if(item.field == 'fromWarehouseCode') { if(item.field == 'fromWarehouseCode') {

18
src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/inventorymoveRequestMain.data.ts

@ -616,6 +616,24 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm: false, isTableForm: false,
isForm: false, isForm: false,
}, },
{
label: '供应商批次',
field: 'altBatch',
sort: 'custom',
isForm:false,
isSearch: true,
table: {
width: 150
},
form: {
componentProps: {
disabled: true
}
},
tableForm: {
disabled: true
}
},
{ {
label: '从包装号', label: '从包装号',
field: 'fromPackingNumber', field: 'fromPackingNumber',

24
src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/index.vue

@ -33,6 +33,10 @@
</Table> </Table>
</ContentWrap> </ContentWrap>
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/backflush-record-detailb/importError" :importTemplateData="importTemplateData"
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -73,6 +77,7 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultImportBtn(null), //
defaultButtons.defaultExportBtn(null), // defaultButtons.defaultExportBtn(null), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
@ -84,6 +89,8 @@ const HeadButttondata = [
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'export') { // if (val == 'export') { //
handleExport() handleExport()
} else if (val == 'import') { //
handleImport()
} else if (val == 'refresh') { // } else if (val == 'refresh') { //
if (tableObject.params.filters && tableObject.params.filters.length > 0 ) { if (tableObject.params.filters && tableObject.params.filters.length > 0 ) {
searchFormClick({ searchFormClick({
@ -107,6 +114,22 @@ const searchFormClick = (searchData) => {
getList() // getList() //
} }
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: `${route.meta.title}】导入模版.xlsx`
})
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importSuccess = () => {
getList()
}
const handleExport = async () => { const handleExport = async () => {
try { try {
// //
@ -124,5 +147,6 @@ const handleExport = async () => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
getList() getList()
importTemplateData.templateUrl = await RawMaterialConsumptionInfoApi.importTemplate()
}) })
</script> </script>

17
src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue

@ -80,6 +80,9 @@
:buttondataTable="buttondataTable" :buttondataTable="buttondataTable"
@tableFormButton="tableFormButton" @tableFormButton="tableFormButton"
:detailValidate="detailValidate" :detailValidate="detailValidate"
:detailButtonIsShowAdd="false"
:detailButtonIsShowEdit="false"
:detailButtonIsShowDelete="false"
/> />
<!-- BOM弹窗列表 --> <!-- BOM弹窗列表 -->
@ -688,6 +691,11 @@ const openForm =async (type: string, row?: number) => {
if (item.field == 'scrappingReason'){ if (item.field == 'scrappingReason'){
item.value = '' item.value = ''
} }
if(item.field == 'productionLineCode'){
item.componentProps.disabled = false
item.componentProps.enterSearch = true
item.componentProps.isSearchList = true
}
}) })
} }
if(type == 'update'){ if(type == 'update'){
@ -696,6 +704,15 @@ const openForm =async (type: string, row?: number) => {
item.componentProps.disabled = true item.componentProps.disabled = true
item.componentProps.isSearchList = false item.componentProps.isSearchList = false
} }
if(item.field == 'productionLineCode'){
item.componentProps.enterSearch = true
item.componentProps.isSearchList = true
}
if(item.field == 'productionLineCode'){
item.componentProps.disabled = true
item.componentProps.enterSearch = false
item.componentProps.isSearchList = false
}
}) })
} }
formRef.value.open(type, row) formRef.value.open(type, row)

3
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue

@ -375,4 +375,7 @@ const changeTabs = (data) =>{
onMounted(async () => { onMounted(async () => {
getList() getList()
}) })
onActivated(() => {
getList()
})
</script> </script>

3
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue

@ -171,6 +171,7 @@ import { getReportUrl } from '@/utils/systemParam'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// -M // -M
// M
defineOptions({ name: 'PurchasereceiptRequestOrderMTypeMain' }) defineOptions({ name: 'PurchasereceiptRequestOrderMTypeMain' })
const message = useMessage() // const message = useMessage() //
@ -536,7 +537,7 @@ const getSearchTableData = async (number,isEnter=false)=>{
}) })
tableData.value = [] tableData.value = []
if(tableObject.tableList.length==0){ if(tableObject.tableList.length==0){
message.error(`此订单${number}已存在M类型申请的数据`) message.error(`此订单${number}】暂无满足条件的收货明细`)
return return
} }
updateTableData(tableObject.tableList) updateTableData(tableObject.tableList)

2
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts

@ -1008,7 +1008,7 @@ export const PurchasereturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'reason', field: 'reason',
dictType: DICT_TYPE.PURCHASE_RETURN_REASON, dictType: DICT_TYPE.PURCHASE_RETURN_REASON,
dictClass: 'string', dictClass: 'string',
isTable: true, isTable: false,
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150

3
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue

@ -197,4 +197,7 @@ const searchFormClick = (searchData) => {
onMounted(async () => { onMounted(async () => {
getList() getList()
}) })
onActivated(() => {
getList()
})
</script> </script>

5
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue

@ -122,7 +122,10 @@ const { tableObject, tableMethods } = useTable({
// //
const { getList, setSearchParams } = tableMethods const { getList, setSearchParams } = tableMethods
watch(()=>tableObject.currentPage,async ()=>{
tableObjectHead.currentPage = tableObject.currentPage
updateDateTableColumns()
})
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), // defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), //

5
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue

@ -130,7 +130,10 @@ const { tableObject, tableMethods } = useTable({
// //
const { getList, setSearchParams } = tableMethods const { getList, setSearchParams } = tableMethods
watch(()=>tableObject.currentPage,async ()=>{
tableObjectHead.currentPage = tableObject.currentPage
updateDateTableColumns()
})
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), // defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), //

120
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts

@ -568,66 +568,66 @@ export const PurchasePlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{ // {
label: '订单号', // label: '订单号',
field: 'poNumber', // field: 'poNumber',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 180 // width: 180
}, // },
hiddenInMain:true, // hiddenInMain:true,
isTableForm:false, // isTableForm:false,
tableForm: { // tableForm: {
disabled: true, // disabled: true,
isInpuFocusShow: false, // isInpuFocusShow: false,
searchListPlaceholder: '请选择订单号', // searchListPlaceholder: '请选择订单号',
searchField: 'number', // searchField: 'number',
searchTitle: '采购订单信息', // searchTitle: '采购订单信息',
searchAllSchemas: PurchaseMain.allSchemas, // searchAllSchemas: PurchaseMain.allSchemas,
searchPage: PurchaseMainApi.getPurchaseMainPage, // searchPage: PurchaseMainApi.getPurchaseMainPage,
searchCondition: [{ // searchCondition: [{
key: 'available', // key: 'available',
value: 'TRUE', // value: 'TRUE',
isMainValue: false // isMainValue: false
}, { // }, {
key: 'supplierCode', // key: 'supplierCode',
value: 'supplierCode', // value: 'supplierCode',
message: '请填写供应商代码!', // message: '请填写供应商代码!',
isMainValue: true // isMainValue: true
}, { // }, {
key: 'status', // key: 'status',
value: 2, // value: 2,
isMainValue: false // isMainValue: false
} // }
] // ]
}, // },
form: { // form: {
// labelMessage: '信息提示说明!!!', // // labelMessage: '信息提示说明!!!',
componentProps: { // componentProps: {
disabled: true, // disabled: true,
isSearchList: false, // isSearchList: false,
searchListPlaceholder: '请选择订单号', // searchListPlaceholder: '请选择订单号',
searchField: 'number', // searchField: 'number',
searchTitle: '采购订单信息', // searchTitle: '采购订单信息',
searchAllSchemas: PurchaseMain.allSchemas, // searchAllSchemas: PurchaseMain.allSchemas,
searchPage: PurchaseMainApi.getPurchaseMainPage, // searchPage: PurchaseMainApi.getPurchaseMainPage,
searchCondition: [{ // searchCondition: [{
key: 'available', // key: 'available',
value: 'TRUE', // value: 'TRUE',
isMainValue: false // isMainValue: false
},{ // },{
key: 'supplierCode', // key: 'supplierCode',
value: 'supplierCode', // value: 'supplierCode',
message: '请填写供应商代码!', // message: '请填写供应商代码!',
isMainValue: true // isMainValue: true
},{ // },{
key: 'status', // key: 'status',
value: 2, // value: 2,
isMainValue: false // isMainValue: false
}] // }]
} // }
} // }
}, // },
{ {
label: '计划数量', label: '计划数量',
field: 'planQty', field: 'planQty',

3
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue

@ -306,4 +306,7 @@ const searchFormClick = (searchData) => {
onMounted(async () => { onMounted(async () => {
getList() getList()
}) })
onActivated(() => {
getList()
})
</script> </script>

14
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

@ -100,7 +100,19 @@
<Detail <Detail
ref="detailRef" ref="detailRef"
:annexTable="[ :annexTable="[
annexInspectionDetail annexInspectionDetail,
{
label: '履历表',
prop: 'uploadFile',
tableName: 'SupplierdeliverCurriculumVitae',
hasSubDetail: false, //
showPreview: true, //
hiddenUpload:false,
hiddenDelete:false,
fileType: ['pdf'],
limit:999999,
align: 'left',
}
]" ]"
:isBasic="false" :isBasic="false"
:allSchemas="SupplierdeliverRequestMain.allSchemas" :allSchemas="SupplierdeliverRequestMain.allSchemas"

3
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts

@ -8,12 +8,13 @@ import { PurchasePlanDetail, PurchasePlanMain } from '../purchasePlanMain/purcha
import { validateHanset, validateEmail } from '@/utils/validator' import { validateHanset, validateEmail } from '@/utils/validator'
import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
import * as ItemPackageApi from '@/api/wms/itempackage/index' import * as ItemPackageApi from '@/api/wms/itempackage/index'
import { cloneDeep } from 'lodash-es'
import {validateInteger} from '@/utils/validator' import {validateInteger} from '@/utils/validator'
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
const PurchasePlanDetailSchemas = {...PurchasePlanDetail.allSchemas} let PurchasePlanDetailSchemas = cloneDeep(PurchasePlanDetail.allSchemas)
if(PurchasePlanDetailSchemas?.tableColumns){ if(PurchasePlanDetailSchemas?.tableColumns){
PurchasePlanDetailSchemas.tableColumns.splice(2, 0, { PurchasePlanDetailSchemas.tableColumns.splice(2, 0, {
label: '送达日期', label: '送达日期',

6
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue

@ -66,6 +66,7 @@
prop: 'Annex', prop: 'Annex',
tableName:'contract', tableName:'contract',
showDownload:true, showDownload:true,
showPreview: true,
hiddenDelete:true, hiddenDelete:true,
hiddenUpload:true, hiddenUpload:true,
queryParams:[{ queryParams:[{
@ -77,6 +78,7 @@
prop: 'Annex', prop: 'Annex',
tableName:'invoice', tableName:'invoice',
showDownload:true, showDownload:true,
showPreview: true,
hiddenDelete:true, hiddenDelete:true,
hiddenUpload:true, hiddenUpload:true,
queryParams:[{ queryParams:[{
@ -144,11 +146,11 @@
</template> </template>
<!-- 未税尾差 --> <!-- 未税尾差 -->
<template #Descriptions_beforeTaxDiffAmount="{ row }"> <template #Descriptions_beforeTaxDiffAmount="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span> <span>{{row['beforeTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span>
</template> </template>
<!-- 税额尾差 --> <!-- 税额尾差 -->
<template #Descriptions_taxAmountDiff="{ row }"> <template #Descriptions_taxAmountDiff="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span> <span>{{row['taxAmountDiff']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span>
</template> </template>
<template #differencePrice="{row}"> <template #differencePrice="{row}">
<span :class="{'red-text':row.differencePrice!=0}">{{ row.differencePrice }}</span> <span :class="{'red-text':row.differencePrice!=0}">{{ row.differencePrice }}</span>

2
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts

@ -1234,7 +1234,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
}, },
{ {
label: '折扣金额', label: '返利未税金额',//折扣金额
field: 'discountAmount1', field: 'discountAmount1',
formatter: accountantFormart, formatter: accountantFormart,

31
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue

@ -106,7 +106,9 @@
adTaxAmount: beforeTaxAmount + totalTaxAmount, //6+ adTaxAmount: beforeTaxAmount + totalTaxAmount, //6+
beforeTaxDiffAmount: beforeTaxAmount - amount - discountAmount1, //-- beforeTaxDiffAmount: beforeTaxAmount - amount - discountAmount1, //--
taxAmountDiff: totalTaxAmount - taxAmount, // - taxAmountDiff: totalTaxAmount - taxAmount, // -
totalTaxDiffAmount: beforeTaxDiffAmount + taxAmountDiff // =+ totalTaxDiffAmount: beforeTaxDiffAmount + taxAmountDiff, // =+
rebateTax:Number(Number(discountAmount1*taxRate*0.01).toFixed(2)),
rebateTotal:rebateTax+discountAmount1
}) })
} else if (formType == 'create') { } else if (formType == 'create') {
// //
@ -318,11 +320,11 @@
</template> </template>
<!-- 未税尾差 --> <!-- 未税尾差 -->
<template #Descriptions_beforeTaxDiffAmount="{ row }"> <template #Descriptions_beforeTaxDiffAmount="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span> <span>{{row['beforeTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span>
</template> </template>
<!-- 税额尾差 --> <!-- 税额尾差 -->
<template #Descriptions_taxAmountDiff="{ row }"> <template #Descriptions_taxAmountDiff="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span> <span>{{row['taxAmountDiff']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span>
</template> </template>
<template #differencePrice="{ row }"> <template #differencePrice="{ row }">
<span :class="{ 'red-text': row.differencePrice != 0 }">{{ row.differencePrice }}</span> <span :class="{ 'red-text': row.differencePrice != 0 }">{{ row.differencePrice }}</span>
@ -880,6 +882,7 @@ const detailAnnexTable = ref([
prop: 'Annex', prop: 'Annex',
tableName: 'contract', tableName: 'contract',
hiddenDelete: false, hiddenDelete: false,
showPreview: true,
hiddenUpload: false, hiddenUpload: false,
fileSize: 20 fileSize: 20
}, },
@ -889,6 +892,7 @@ const detailAnnexTable = ref([
tableName: 'invoice', tableName: 'invoice',
hiddenDelete: false, hiddenDelete: false,
hiddenUpload: false, hiddenUpload: false,
showPreview: true,
fileSize: 20, fileSize: 20,
fileType:['pdf'] fileType:['pdf']
}, },
@ -1071,13 +1075,20 @@ const handleFinanceApp = async (row) => {
const submitFormFinance = async (formType, submitData) => { const submitFormFinance = async (formType, submitData) => {
let data = { ...submitData } let data = { ...submitData }
console.log('submitFormFinance', data) console.log('submitFormFinance', data)
await SupplierinvoiceRequestMainApi.financeappSupplierinvoiceRequestMain({ formFinanceRef.value.formLoading = true
id: data.id, try {
postingDate: data.postingDate, await SupplierinvoiceRequestMainApi.financeappSupplierinvoiceRequestMain({
voucherNumberRemark: data.voucherNumberRemark id: data.id,
}) postingDate: data.postingDate,
formFinanceRef.value.dialogVisible = false voucherNumberRemark: data.voucherNumberRemark
getList() })
formFinanceRef.value.dialogVisible = false
formFinanceRef.value.formLoading = false
getList()
} catch {
formFinanceRef.value.formLoading = false
}
// try { // try {
// // // //
// await message.confirm(t('ts.')) // await message.confirm(t('ts.'))

15
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -1523,7 +1523,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
}, },
{ {
label: '折扣金额', label: '返利未税金额',
field: 'discountAmount1', field: 'discountAmount1',
formatter: accountantFormart, formatter: accountantFormart,
@ -1611,6 +1611,16 @@ function validateTaxRate(rule, value, callback) {
} }
} }
const validateGoldenTaxInvoiceNumber = (rule, value, callback) => {
const reg = /^[1-9][0-9]*$/
if (!value||reg.test(value)) {
callback()
}else{
callback(new Error('只能是数字'))
}
}
//表单校验 //表单校验
export const SupplierinvoiceRequestMainRules = reactive({ export const SupplierinvoiceRequestMainRules = reactive({
taxRate: [ taxRate: [
@ -1624,7 +1634,8 @@ export const SupplierinvoiceRequestMainRules = reactive({
{ required: false, message: '请选择发票日期', trigger: 'blur' } { required: false, message: '请选择发票日期', trigger: 'blur' }
], ],
goldenTaxInvoiceNumber:[ goldenTaxInvoiceNumber:[
{ required: false, message: '请输入金税票号', trigger: 'blur' } { required: false, message: '请输入金税票号', trigger: 'blur' },
{ validator:validateGoldenTaxInvoiceNumber, message: '金税票号只能是数字', trigger: 'blur'}
], ],
departmentCode: [ departmentCode: [
{ required: true, message: '请输入部门', trigger: 'blur' } { required: true, message: '请输入部门', trigger: 'blur' }

6
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue

@ -126,11 +126,11 @@
</template> </template>
<!-- 未税尾差 --> <!-- 未税尾差 -->
<template #Descriptions_beforeTaxDiffAmount="{ row }"> <template #Descriptions_beforeTaxDiffAmount="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span> <span>{{row['beforeTaxDiffAmount']}}<span class="red-text"> (含返利未税:{{ row['discountAmount1'] }})</span></span>
</template> </template>
<!-- 税额尾差 --> <!-- 税额尾差 -->
<template #Descriptions_taxAmountDiff="{ row }"> <template #Descriptions_taxAmountDiff="{ row }">
<span>{{row['totalTaxDiffAmount']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span> <span>{{row['taxAmountDiff']}}<span class="red-text"> (含返利税额:{{ row['rebateTax'] }})</span></span>
</template> </template>
<template #differencePrice="{row}"> <template #differencePrice="{row}">
<span :class="{'red-text':row.differencePrice!=0}">{{ row.differencePrice }}</span> <span :class="{'red-text':row.differencePrice!=0}">{{ row.differencePrice }}</span>
@ -293,6 +293,7 @@ const searchTableSuccessDetail = async (formField, searchField, val, formRef,sea
tableName:'contract', tableName:'contract',
hiddenDelete:true, hiddenDelete:true,
hiddenUpload:true, hiddenUpload:true,
showPreview: true,
fileSize:20 fileSize:20
},{ },{
label: t('ts.发票附件'), label: t('ts.发票附件'),
@ -300,6 +301,7 @@ const searchTableSuccessDetail = async (formField, searchField, val, formRef,sea
tableName:'invoice', tableName:'invoice',
hiddenDelete:true, hiddenDelete:true,
hiddenUpload:true, hiddenUpload:true,
showPreview: true,
fileSize:20 fileSize:20
},{ },{

4
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

@ -426,7 +426,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// } // }
// }, // },
{ {
label: '折扣金额', label: '返利未税金额',
field: 'discountAmount1', field: 'discountAmount1',
formatter: accountantFormart, formatter: accountantFormart,
table: { table: {
@ -1505,7 +1505,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
}, },
{ {
label: '折扣金额', label: '返利未税金额',
field: 'discountAmount1', field: 'discountAmount1',
formatter: accountantFormart, formatter: accountantFormart,

Loading…
Cancel
Save